home *** CD-ROM | disk | FTP | other *** search
Emacs Compiled Lisp | 1994-07-30 | 16.6 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Emacs Compiled Lisp
(other/emacsCompiledLisp).
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
1%
| dexvert
| Emacs Compiled Lisp (other/emacsCompiledLisp)
| magic
| Unsupported |
100%
| file
| Emacs/XEmacs v19 byte-compiled Lisp data
| default
| |
99%
| file
| data
| default
| |
100%
| TrID
| Emacs/XEmacs byte-compiled Lisp (generic)
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 72 6d 73 40 6d 6f 6c |piled by| rms@mol|
|00000020| 65 2e 67 6e 75 2e 61 69 | 2e 6d 69 74 2e 65 64 75 |e.gnu.ai|.mit.edu|
|00000030| 20 6f 6e 20 53 61 74 20 | 4a 75 6c 20 33 30 20 31 | on Sat |Jul 30 1|
|00000040| 36 3a 35 32 3a 30 35 20 | 31 39 39 34 0a 3b 3b 3b |6:52:05 |1994.;;;|
|00000050| 20 66 72 6f 6d 20 66 69 | 6c 65 20 2f 68 6f 6d 65 | from fi|le /home|
|00000060| 2f 66 73 66 2f 72 6d 73 | 2f 65 31 39 2f 6c 69 73 |/fsf/rms|/e19/lis|
|00000070| 70 2f 68 69 64 65 69 66 | 2e 65 6c 0a 3b 3b 3b 20 |p/hideif|.el.;;; |
|00000080| 65 6d 61 63 73 20 76 65 | 72 73 69 6f 6e 20 31 39 |emacs ve|rsion 19|
|00000090| 2e 32 35 2e 39 30 2e 32 | 2e 0a 3b 3b 3b 20 62 79 |.25.90.2|..;;; by|
|000000a0| 74 65 63 6f 6d 70 20 76 | 65 72 73 69 6f 6e 20 46 |tecomp v|ersion F|
|000000b0| 53 46 20 32 2e 31 30 0a | 3b 3b 3b 20 6f 70 74 69 |SF 2.10.|;;; opti|
|000000c0| 6d 69 7a 61 74 69 6f 6e | 20 69 73 20 6f 6e 2e 0a |mization| is on..|
|000000d0| 3b 3b 3b 20 74 68 69 73 | 20 66 69 6c 65 20 75 73 |;;; this| file us|
|000000e0| 65 73 20 6f 70 63 6f 64 | 65 73 20 77 68 69 63 68 |es opcod|es which|
|000000f0| 20 64 6f 20 6e 6f 74 20 | 65 78 69 73 74 20 69 6e | do not |exist in|
|00000100| 20 45 6d 61 63 73 20 31 | 38 2e 0a 0a 28 69 66 20 | Emacs 1|8...(if |
|00000110| 28 61 6e 64 20 28 62 6f | 75 6e 64 70 20 27 65 6d |(and (bo|undp 'em|
|00000120| 61 63 73 2d 76 65 72 73 | 69 6f 6e 29 0a 09 20 28 |acs-vers|ion).. (|
|00000130| 6f 72 20 28 61 6e 64 20 | 28 62 6f 75 6e 64 70 20 |or (and |(boundp |
|00000140| 27 65 70 6f 63 68 3a 3a | 76 65 72 73 69 6f 6e 29 |'epoch::|version)|
|00000150| 20 65 70 6f 63 68 3a 3a | 76 65 72 73 69 6f 6e 29 | epoch::|version)|
|00000160| 0a 09 20 20 20 20 20 28 | 73 74 72 69 6e 67 2d 6c |.. (|string-l|
|00000170| 65 73 73 70 20 65 6d 61 | 63 73 2d 76 65 72 73 69 |essp ema|cs-versi|
|00000180| 6f 6e 20 22 31 39 22 29 | 29 29 0a 20 20 20 20 28 |on "19")|)). (|
|00000190| 65 72 72 6f 72 20 22 60 | 2f 68 6f 6d 65 2f 66 73 |error "`|/home/fs|
|000001a0| 66 2f 72 6d 73 2f 65 31 | 39 2f 6c 69 73 70 2f 68 |f/rms/e1|9/lisp/h|
|000001b0| 69 64 65 69 66 2e 65 6c | 27 20 77 61 73 20 63 6f |ideif.el|' was co|
|000001c0| 6d 70 69 6c 65 64 20 66 | 6f 72 20 45 6d 61 63 73 |mpiled f|or Emacs|
|000001d0| 20 31 39 22 29 29 0a 0a | 28 64 65 66 76 61 72 20 | 19"))..|(defvar |
|000001e0| 68 69 64 65 2d 69 66 64 | 65 66 2d 6d 6f 64 65 2d |hide-ifd|ef-mode-|
|000001f0| 73 75 62 6d 61 70 20 6e | 69 6c 20 22 5c 0a 4b 65 |submap n|il "\.Ke|
|00000200| 79 6d 61 70 20 75 73 65 | 64 20 77 69 74 68 20 48 |ymap use|d with H|
|00000210| 69 64 65 2d 49 66 64 65 | 66 20 6d 6f 64 65 2e 22 |ide-Ifde|f mode."|
|00000220| 29 0a 28 64 65 66 76 61 | 72 20 68 69 64 65 2d 69 |).(defva|r hide-i|
|00000230| 66 64 65 66 2d 6d 6f 64 | 65 2d 6d 61 70 20 6e 69 |fdef-mod|e-map ni|
|00000240| 6c 20 22 5c 0a 4b 65 79 | 6d 61 70 20 75 73 65 64 |l "\.Key|map used|
|00000250| 20 77 69 74 68 20 48 69 | 64 65 2d 49 66 64 65 66 | with Hi|de-Ifdef|
|00000260| 20 6d 6f 64 65 2e 22 29 | 0a 28 64 65 66 63 6f 6e | mode.")|.(defcon|
|00000270| 73 74 20 68 69 64 65 2d | 69 66 64 65 66 2d 6d 6f |st hide-|ifdef-mo|
|00000280| 64 65 2d 70 72 65 66 69 | 78 2d 6b 65 79 20 22 03 |de-prefi|x-key ".|
|00000290| 22 20 22 5c 0a 50 72 65 | 66 69 78 20 6b 65 79 20 |" "\.Pre|fix key |
|000002a0| 66 6f 72 20 61 6c 6c 20 | 48 69 64 65 2d 49 66 64 |for all |Hide-Ifd|
|000002b0| 65 66 20 6d 6f 64 65 20 | 63 6f 6d 6d 61 6e 64 73 |ef mode |commands|
|000002c0| 2e 22 29 0a 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |.").(byt|e-code "|
|000002d0| 08 84 50 00 c1 20 10 c2 | 08 c3 c4 23 88 c2 08 c5 |..P.. ..|...#....|
|000002e0| c6 23 88 c2 08 c7 c8 23 | 88 c2 08 c9 ca 23 88 c2 |.#.....#|.....#..|
|000002f0| 08 cb cc 23 88 c2 08 cd | ce 23 88 c2 08 cf d0 23 |...#....|.#.....#|
|00000300| 88 c2 08 d1 d2 23 88 c2 | 08 d3 d4 23 88 d5 d6 d7 |.....#..|...#....|
|00000310| d8 23 89 1e 19 83 4f 00 | c2 08 0e 19 da 23 88 29 |.#....O.|.....#.)|
|00000320| 0e 1b 84 61 00 c1 20 16 | 1b c2 0e 1b 0e 1c 08 23 |...a.. .|.......#|
|00000330| 88 c1 87 22 20 5b 68 69 | 64 65 2d 69 66 64 65 66 |..." [hi|de-ifdef|
|00000340| 2d 6d 6f 64 65 2d 73 75 | 62 6d 61 70 20 6d 61 6b |-mode-su|bmap mak|
|00000350| 65 2d 73 70 61 72 73 65 | 2d 6b 65 79 6d 61 70 20 |e-sparse|-keymap |
|00000360| 64 65 66 69 6e 65 2d 6b | 65 79 20 22 1b 64 22 20 |define-k|ey ".d" |
|00000370| 68 69 64 65 2d 69 66 64 | 65 66 2d 64 65 66 69 6e |hide-ifd|ef-defin|
|00000380| 65 20 22 1b 75 22 20 68 | 69 64 65 2d 69 66 64 65 |e ".u" h|ide-ifde|
|00000390| 66 2d 75 6e 64 65 66 20 | 22 1b 44 22 20 68 69 64 |f-undef |".D" hid|
|000003a0| 65 2d 69 66 64 65 66 2d | 73 65 74 2d 64 65 66 69 |e-ifdef-|set-defi|
|000003b0| 6e 65 2d 61 6c 69 73 74 | 20 22 1b 55 22 20 68 69 |ne-alist| ".U" hi|
|000003c0| 64 65 2d 69 66 64 65 66 | 2d 75 73 65 2d 64 65 66 |de-ifdef|-use-def|
|000003d0| 69 6e 65 2d 61 6c 69 73 | 74 20 22 1b 68 22 20 68 |ine-alis|t ".h" h|
|000003e0| 69 64 65 2d 69 66 64 65 | 66 73 20 22 1b 73 22 20 |ide-ifde|fs ".s" |
|000003f0| 73 68 6f 77 2d 69 66 64 | 65 66 73 20 22 04 22 20 |show-ifd|efs "." |
|00000400| 68 69 64 65 2d 69 66 64 | 65 66 2d 62 6c 6f 63 6b |hide-ifd|ef-block|
|00000410| 20 22 13 22 20 73 68 6f | 77 2d 69 66 64 65 66 2d | "." sho|w-ifdef-|
|00000420| 62 6c 6f 63 6b 20 22 11 | 22 20 68 69 64 65 2d 69 |block ".|" hide-i|
|00000430| 66 64 65 66 2d 74 6f 67 | 67 6c 65 2d 72 65 61 64 |fdef-tog|gle-read|
|00000440| 2d 6f 6e 6c 79 20 77 68 | 65 72 65 2d 69 73 2d 69 |-only wh|ere-is-i|
|00000450| 6e 74 65 72 6e 61 6c 20 | 74 6f 67 67 6c 65 2d 72 |nternal |toggle-r|
|00000460| 65 61 64 2d 6f 6e 6c 79 | 20 28 6b 65 79 6d 61 70 |ead-only| (keymap|
|00000470| 29 20 74 20 77 68 65 72 | 65 20 68 69 64 65 2d 69 |) t wher|e hide-i|
|00000480| 66 64 65 66 2d 74 6f 67 | 67 6c 65 2d 6f 75 74 73 |fdef-tog|gle-outs|
|00000490| 69 64 65 2d 72 65 61 64 | 2d 6f 6e 6c 79 20 68 69 |ide-read|-only hi|
|000004a0| 64 65 2d 69 66 64 65 66 | 2d 6d 6f 64 65 2d 6d 61 |de-ifdef|-mode-ma|
|000004b0| 70 20 68 69 64 65 2d 69 | 66 64 65 66 2d 6d 6f 64 |p hide-i|fdef-mod|
|000004c0| 65 2d 70 72 65 66 69 78 | 2d 6b 65 79 5d 20 35 29 |e-prefix|-key] 5)|
|000004d0| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 68 69 66 2d |.(defali|as 'hif-|
|000004e0| 75 70 64 61 74 65 2d 6d | 6f 64 65 2d 6c 69 6e 65 |update-m|ode-line|
|000004f0| 20 23 5b 6e 69 6c 20 22 | c0 c1 20 21 87 22 20 5b | #[nil "|.. !." [|
|00000500| 73 65 74 2d 62 75 66 66 | 65 72 2d 6d 6f 64 69 66 |set-buff|er-modif|
|00000510| 69 65 64 2d 70 20 62 75 | 66 66 65 72 2d 6d 6f 64 |ied-p bu|ffer-mod|
|00000520| 69 66 69 65 64 2d 70 5d | 20 32 20 22 5c 0a 55 70 |ified-p]| 2 "\.Up|
|00000530| 64 61 74 65 20 6d 6f 64 | 65 2d 6c 69 6e 65 20 62 |date mod|e-line b|
|00000540| 79 20 73 65 74 74 69 6e | 67 20 62 75 66 66 65 72 |y settin|g buffer|
|00000550| 2d 6d 6f 64 69 66 69 65 | 64 20 74 6f 20 69 74 73 |-modifie|d to its|
|00000560| 65 6c 66 2e 22 5d 29 0a | 28 64 65 66 76 61 72 20 |elf."]).|(defvar |
|00000570| 68 69 64 65 2d 69 66 64 | 65 66 2d 6d 6f 64 65 20 |hide-ifd|ef-mode |
|00000580| 6e 69 6c 20 22 5c 0a 4e | 6f 6e 2d 6e 69 6c 20 77 |nil "\.N|on-nil w|
|00000590| 68 65 6e 20 68 69 64 65 | 2d 69 66 64 65 66 2d 6d |hen hide|-ifdef-m|
|000005a0| 6f 64 65 20 69 73 20 61 | 63 74 69 76 61 74 65 64 |ode is a|ctivated|
|000005b0| 2e 22 29 0a 28 64 65 66 | 76 61 72 20 68 69 64 65 |.").(def|var hide|
|000005c0| 2d 69 66 64 65 66 2d 68 | 69 64 69 6e 67 20 6e 69 |-ifdef-h|iding ni|
|000005d0| 6c 20 22 5c 0a 4e 6f 6e | 2d 6e 69 6c 20 77 68 65 |l "\.Non|-nil whe|
|000005e0| 6e 20 74 65 78 74 20 6d | 61 79 20 62 65 20 68 69 |n text m|ay be hi|
|000005f0| 64 64 65 6e 2e 22 29 0a | 28 62 79 74 65 2d 63 6f |dden.").|(byte-co|
|00000600| 64 65 20 22 c0 09 9e 84 | 5c 66 00 c0 5c 6e 42 09 |de "....|\f..\nB.|
|00000610| 42 11 c3 5c 66 9e 84 16 | 00 c5 5c 66 42 14 c0 5c |B..\f...|..\fB..\|
|00000620| 66 9e 84 20 00 c6 5c 66 | 42 14 c0 87 22 20 5b 68 |f.. ..\f|B..." [h|
|00000630| 69 64 65 2d 69 66 64 65 | 66 2d 6d 6f 64 65 20 6d |ide-ifde|f-mode m|
|00000640| 69 6e 6f 72 2d 6d 6f 64 | 65 2d 6d 61 70 2d 61 6c |inor-mod|e-map-al|
|00000650| 69 73 74 20 68 69 64 65 | 2d 69 66 64 65 66 2d 6d |ist hide|-ifdef-m|
|00000660| 6f 64 65 2d 6d 61 70 20 | 68 69 64 65 2d 69 66 64 |ode-map |hide-ifd|
|00000670| 65 66 2d 68 69 64 69 6e | 67 20 6d 69 6e 6f 72 2d |ef-hidin|g minor-|
|00000680| 6d 6f 64 65 2d 61 6c 69 | 73 74 20 28 68 69 64 65 |mode-ali|st (hide|
|00000690| 2d 69 66 64 65 66 2d 68 | 69 64 69 6e 67 20 22 20 |-ifdef-h|iding " |
|000006a0| 48 69 64 69 6e 67 22 29 | 20 28 68 69 64 65 2d 69 |Hiding")| (hide-i|
|000006b0| 66 64 65 66 2d 6d 6f 64 | 65 20 22 20 49 66 64 65 |fdef-mod|e " Ifde|
|000006c0| 66 22 29 5d 20 32 29 0a | 28 64 65 66 76 61 72 20 |f")] 2).|(defvar |
|000006d0| 68 69 64 65 2d 69 66 64 | 65 66 2d 73 79 6e 74 61 |hide-ifd|ef-synta|
|000006e0| 78 2d 74 61 62 6c 65 20 | 28 63 6f 70 79 2d 73 79 |x-table |(copy-sy|
|000006f0| 6e 74 61 78 2d 74 61 62 | 6c 65 20 63 2d 6d 6f 64 |ntax-tab|le c-mod|
|00000700| 65 2d 73 79 6e 74 61 78 | 2d 74 61 62 6c 65 29 20 |e-syntax|-table) |
|00000710| 22 5c 0a 53 79 6e 74 61 | 78 20 74 61 62 6c 65 20 |"\.Synta|x table |
|00000720| 75 73 65 64 20 66 6f 72 | 20 74 6f 6b 65 6e 69 7a |used for| tokeniz|
|00000730| 69 6e 67 20 23 69 66 20 | 65 78 70 72 65 73 73 69 |ing #if |expressi|
|00000740| 6f 6e 73 2e 22 29 0a 28 | 62 79 74 65 2d 63 6f 64 |ons.").(|byte-cod|
|00000750| 65 20 22 c0 c1 c2 0b 23 | 88 c0 c4 c5 0b 23 88 c0 |e "....#|.....#..|
|00000760| c6 c5 0b 23 87 22 20 5b | 6d 6f 64 69 66 79 2d 73 |...#." [|modify-s|
|00000770| 79 6e 74 61 78 2d 65 6e | 74 72 79 20 39 35 20 22 |yntax-en|try 95 "|
|00000780| 77 22 20 68 69 64 65 2d | 69 66 64 65 66 2d 73 79 |w" hide-|ifdef-sy|
|00000790| 6e 74 61 78 2d 74 61 62 | 6c 65 20 33 38 20 22 2e |ntax-tab|le 38 ".|
|000007a0| 22 20 31 32 34 5d 20 34 | 29 0a 28 64 65 66 61 6c |" 124] 4|).(defal|
|000007b0| 69 61 73 20 27 68 69 64 | 65 2d 69 66 64 65 66 2d |ias 'hid|e-ifdef-|
|000007c0| 6d 6f 64 65 20 23 5b 28 | 61 72 67 29 20 22 c0 c1 |mode #[(|arg) "..|
|000007d0| 21 88 5c 6e 84 0d 00 09 | 3f 82 12 00 c3 5c 6e 21 |!.\n....|?....\n!|
|000007e0| c4 56 11 c5 20 88 09 83 | 4a 00 c0 c6 21 88 c7 c6 |.V.. ...|J...!...|
|000007f0| 21 16 06 c0 c8 21 88 c7 | c8 21 16 08 c0 c9 21 88 |!....!..|.!....!.|
|00000800| 0e 5c 6e 16 09 cb cc 21 | 88 0e 0d 83 43 00 ce 20 |.\n....!|....C.. |
|00000810| 88 82 46 00 cf 20 88 d0 | d1 21 87 0e 08 83 52 00 |..F.. ..|.!....R.|
|00000820| cf 20 88 d0 d2 21 87 22 | 20 5b 6d 61 6b 65 2d 6c |. ...!."| [make-l|
|00000830| 6f 63 61 6c 2d 76 61 72 | 69 61 62 6c 65 20 68 69 |ocal-var|iable hi|
|00000840| 64 65 2d 69 66 64 65 66 | 2d 6d 6f 64 65 20 61 72 |de-ifdef|-mode ar|
|00000850| 67 20 70 72 65 66 69 78 | 2d 6e 75 6d 65 72 69 63 |g prefix|-numeric|
|00000860| 2d 76 61 6c 75 65 20 30 | 20 66 6f 72 63 65 2d 6d |-value 0| force-m|
|00000870| 6f 64 65 2d 6c 69 6e 65 | 2d 75 70 64 61 74 65 20 |ode-line|-update |
|00000880| 68 69 64 65 2d 69 66 64 | 65 66 2d 65 6e 76 20 64 |hide-ifd|ef-env d|
|00000890| 65 66 61 75 6c 74 2d 76 | 61 6c 75 65 20 68 69 64 |efault-v|alue hid|
|000008a0| 65 2d 69 66 64 65 66 2d | 68 69 64 69 6e 67 20 68 |e-ifdef-|hiding h|
|000008b0| 69 66 2d 6f 75 74 73 69 | 64 65 2d 72 65 61 64 2d |if-outsi|de-read-|
|000008c0| 6f 6e 6c 79 20 62 75 66 | 66 65 72 2d 72 65 61 64 |only buf|fer-read|
|000008d0| 2d 6f 6e 6c 79 20 72 75 | 6e 2d 68 6f 6f 6b 73 20 |-only ru|n-hooks |
|000008e0| 68 69 64 65 2d 69 66 64 | 65 66 2d 6d 6f 64 65 2d |hide-ifd|ef-mode-|
|000008f0| 68 6f 6f 6b 20 68 69 64 | 65 2d 69 66 64 65 66 2d |hook hid|e-ifdef-|
|00000900| 69 6e 69 74 69 61 6c 6c | 79 20 68 69 64 65 2d 69 |initiall|y hide-i|
|00000910| 66 64 65 66 73 20 73 68 | 6f 77 2d 69 66 64 65 66 |fdefs sh|ow-ifdef|
|00000920| 73 20 6d 65 73 73 61 67 | 65 20 22 45 6e 74 65 72 |s messag|e "Enter|
|00000930| 20 68 69 64 65 2d 69 66 | 64 65 66 2d 6d 6f 64 65 | hide-if|def-mode|
|00000940| 2e 22 20 22 45 78 69 74 | 20 68 69 64 65 2d 69 66 |." "Exit| hide-if|
|00000950| 64 65 66 2d 6d 6f 64 65 | 2e 22 5d 20 32 20 22 5c |def-mode|."] 2 "\|
|00000960| 0a 54 6f 67 67 6c 65 20 | 48 69 64 65 2d 49 66 64 |.Toggle |Hide-Ifd|
|00000970| 65 66 20 6d 6f 64 65 2e | 20 20 54 68 69 73 20 69 |ef mode.| This i|
|00000980| 73 20 61 20 6d 69 6e 6f | 72 20 6d 6f 64 65 2c 20 |s a mino|r mode, |
|00000990| 61 6c 62 65 69 74 20 61 | 20 6c 61 72 67 65 20 6f |albeit a| large o|
|000009a0| 6e 65 2e 0a 57 69 74 68 | 20 41 52 47 2c 20 74 75 |ne..With| ARG, tu|
|000009b0| 72 6e 20 48 69 64 65 2d | 49 66 64 65 66 20 6d 6f |rn Hide-|Ifdef mo|
|000009c0| 64 65 20 6f 6e 20 69 66 | 66 20 61 72 67 20 69 73 |de on if|f arg is|
|000009d0| 20 70 6f 73 69 74 69 76 | 65 2e 0a 49 6e 20 48 69 | positiv|e..In Hi|
|000009e0| 64 65 2d 49 66 64 65 66 | 20 6d 6f 64 65 2c 20 63 |de-Ifdef| mode, c|
|000009f0| 6f 64 65 20 77 69 74 68 | 69 6e 20 23 69 66 64 65 |ode with|in #ifde|
|00000a00| 66 20 63 6f 6e 73 74 72 | 75 63 74 73 20 74 68 61 |f constr|ucts tha|
|00000a10| 74 20 74 68 65 20 43 20 | 70 72 65 70 72 6f 63 65 |t the C |preproce|
|00000a20| 73 73 6f 72 0a 77 6f 75 | 6c 64 20 65 6c 69 6d 69 |ssor.wou|ld elimi|
|00000a30| 6e 61 74 65 20 6d 61 79 | 20 62 65 20 68 69 64 64 |nate may| be hidd|
|00000a40| 65 6e 20 66 72 6f 6d 20 | 76 69 65 77 2e 20 20 53 |en from |view. S|
|00000a50| 65 76 65 72 61 6c 20 76 | 61 72 69 61 62 6c 65 73 |everal v|ariables|
|00000a60| 20 61 66 66 65 63 74 0a | 68 6f 77 20 74 68 65 20 | affect.|how the |
|00000a70| 68 69 64 69 6e 67 20 69 | 73 20 64 6f 6e 65 3a 0a |hiding i|s done:.|
|00000a80| 0a 68 69 64 65 2d 69 66 | 64 65 66 2d 65 6e 76 0a |.hide-if|def-env.|
|00000a90| 09 41 6e 20 61 73 73 6f | 63 69 61 74 69 6f 6e 20 |.An asso|ciation |
|00000aa0| 6c 69 73 74 20 6f 66 20 | 64 65 66 69 6e 65 64 20 |list of |defined |
|00000ab0| 61 6e 64 20 75 6e 64 65 | 66 69 6e 65 64 20 73 79 |and unde|fined sy|
|00000ac0| 6d 62 6f 6c 73 20 66 6f | 72 20 74 68 65 0a 09 63 |mbols fo|r the..c|
|00000ad0| 75 72 72 65 6e 74 20 62 | 75 66 66 65 72 2e 20 20 |urrent b|uffer. |
|00000ae0| 49 6e 69 74 69 61 6c 6c | 79 2c 20 74 68 65 20 67 |Initiall|y, the g|
|00000af0| 6c 6f 62 61 6c 20 76 61 | 6c 75 65 20 6f 66 20 60 |lobal va|lue of `|
|00000b00| 68 69 64 65 2d 69 66 64 | 65 66 2d 65 6e 76 27 0a |hide-ifd|ef-env'.|
|00000b10| 09 69 73 20 75 73 65 64 | 2e 0a 0a 68 69 64 65 2d |.is used|...hide-|
|00000b20| 69 66 64 65 66 2d 64 65 | 66 69 6e 65 2d 61 6c 69 |ifdef-de|fine-ali|
|00000b30| 73 74 0a 09 41 6e 20 61 | 73 73 6f 63 69 61 74 69 |st..An a|ssociati|
|00000b40| 6f 6e 20 6c 69 73 74 20 | 6f 66 20 64 65 66 69 6e |on list |of defin|
|00000b50| 65 64 20 73 79 6d 62 6f | 6c 20 6c 69 73 74 73 2e |ed symbo|l lists.|
|00000b60| 20 20 0a 20 20 20 20 20 | 20 20 20 55 73 65 20 60 | . | Use `|
|00000b70| 68 69 64 65 2d 69 66 64 | 65 66 2d 73 65 74 2d 64 |hide-ifd|ef-set-d|
|00000b80| 65 66 69 6e 65 2d 61 6c | 69 73 74 27 20 74 6f 20 |efine-al|ist' to |
|00000b90| 73 61 76 65 20 74 68 65 | 20 63 75 72 72 65 6e 74 |save the| current|
|00000ba0| 20 60 68 69 64 65 2d 69 | 66 64 65 66 2d 65 6e 76 | `hide-i|fdef-env|
|00000bb0| 27 0a 20 20 20 20 20 20 | 20 20 61 6e 64 20 60 68 |'. | and `h|
|00000bc0| 69 64 65 2d 69 66 64 65 | 66 2d 75 73 65 2d 64 65 |ide-ifde|f-use-de|
|00000bd0| 66 69 6e 65 2d 61 6c 69 | 73 74 27 20 74 6f 20 73 |fine-ali|st' to s|
|00000be0| 65 74 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 60 |et the c|urrent `|
|00000bf0| 68 69 64 65 2d 69 66 64 | 65 66 2d 65 6e 76 27 0a |hide-ifd|ef-env'.|
|00000c00| 20 20 20 20 20 20 20 20 | 66 72 6f 6d 20 6f 6e 65 | |from one|
|00000c10| 20 6f 66 20 74 68 65 20 | 6c 69 73 74 73 20 69 6e | of the |lists in|
|00000c20| 20 60 68 69 64 65 2d 69 | 66 64 65 66 2d 64 65 66 | `hide-i|fdef-def|
|00000c30| 69 6e 65 2d 61 6c 69 73 | 74 27 2e 0a 0a 68 69 64 |ine-alis|t'...hid|
|00000c40| 65 2d 69 66 64 65 66 2d | 6c 69 6e 65 73 0a 09 53 |e-ifdef-|lines..S|
|00000c50| 65 74 20 74 6f 20 6e 6f | 6e 2d 6e 69 6c 20 74 6f |et to no|n-nil to|
|00000c60| 20 6e 6f 74 20 73 68 6f | 77 20 23 69 66 2c 20 23 | not sho|w #if, #|
|00000c70| 69 66 64 65 66 2c 20 23 | 69 66 6e 64 65 66 2c 20 |ifdef, #|ifndef, |
|00000c80| 23 65 6c 73 65 2c 20 61 | 6e 64 0a 09 23 65 6e 64 |#else, a|nd..#end|
|00000c90| 69 66 20 6c 69 6e 65 73 | 20 77 68 65 6e 20 68 69 |if lines| when hi|
|00000ca0| 64 69 6e 67 2e 0a 0a 68 | 69 64 65 2d 69 66 64 65 |ding...h|ide-ifde|
|00000cb0| 66 2d 69 6e 69 74 69 61 | 6c 6c 79 0a 09 49 6e 64 |f-initia|lly..Ind|
|00000cc0| 69 63 61 74 65 73 20 77 | 68 65 74 68 65 72 20 60 |icates w|hether `|
|00000cd0| 68 69 64 65 2d 69 66 64 | 65 66 73 27 20 73 68 6f |hide-ifd|efs' sho|
|00000ce0| 75 6c 64 20 62 65 20 63 | 61 6c 6c 65 64 20 77 68 |uld be c|alled wh|
|00000cf0| 65 6e 20 48 69 64 65 2d | 49 66 64 65 66 20 6d 6f |en Hide-|Ifdef mo|
|00000d00| 64 65 0a 09 69 73 20 61 | 63 74 69 76 61 74 65 64 |de..is a|ctivated|
|00000d10| 2e 0a 0a 68 69 64 65 2d | 69 66 64 65 66 2d 72 65 |...hide-|ifdef-re|
|00000d20| 61 64 2d 6f 6e 6c 79 0a | 09 53 65 74 20 74 6f 20 |ad-only.|.Set to |
|00000d30| 6e 6f 6e 2d 6e 69 6c 20 | 69 66 20 79 6f 75 20 77 |non-nil |if you w|
|00000d40| 61 6e 74 20 74 6f 20 6d | 61 6b 65 20 62 75 66 66 |ant to m|ake buff|
|00000d50| 65 72 73 20 72 65 61 64 | 20 6f 6e 6c 79 20 77 68 |ers read| only wh|
|00000d60| 69 6c 65 20 68 69 64 69 | 6e 67 2e 0a 09 41 66 74 |ile hidi|ng...Aft|
|00000d70| 65 72 20 60 73 68 6f 77 | 2d 69 66 64 65 66 73 27 |er `show|-ifdefs'|
|00000d80| 2c 20 72 65 61 64 2d 6f | 6e 6c 79 20 73 74 61 74 |, read-o|nly stat|
|00000d90| 75 73 20 69 73 20 72 65 | 73 74 6f 72 65 64 20 74 |us is re|stored t|
|00000da0| 6f 20 70 72 65 76 69 6f | 75 73 20 76 61 6c 75 65 |o previo|us value|
|00000db0| 2e 0a 0a 5c 5c 7b 68 69 | 64 65 2d 69 66 64 65 66 |...\\{hi|de-ifdef|
|00000dc0| 2d 6d 6f 64 65 2d 6d 61 | 70 7d 22 20 22 50 22 5d |-mode-ma|p}" "P"]|
|00000dd0| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 68 69 66 |).(defal|ias 'hif|
|00000de0| 2d 6f 75 74 6c 69 6e 65 | 2d 66 6c 61 67 2d 72 65 |-outline|-flag-re|
|00000df0| 67 69 6f 6e 20 23 5b 28 | 66 72 6f 6d 20 74 6f 20 |gion #[(|from to |
|00000e00| 66 6c 61 67 29 20 22 c0 | 20 19 c2 8e c3 5c 66 0d |flag) ".| ....\f.|
|00000e10| 0e 06 c7 55 83 13 00 c8 | 82 14 00 c7 0e 06 c9 25 |...U....|.......%|
|00000e20| 2a 87 22 20 5b 62 75 66 | 66 65 72 2d 6d 6f 64 69 |*." [buf|fer-modi|
|00000e30| 66 69 65 64 2d 70 20 6d | 6f 64 70 20 28 28 73 65 |fied-p m|odp ((se|
|00000e40| 74 2d 62 75 66 66 65 72 | 2d 6d 6f 64 69 66 69 65 |t-buffer|-modifie|
|00000e50| 64 2d 70 20 6d 6f 64 70 | 29 29 20 73 75 62 73 74 |d-p modp|)) subst|
|00000e60| 2d 63 68 61 72 2d 69 6e | 2d 72 65 67 69 6f 6e 20 |-char-in|-region |
|00000e70| 66 72 6f 6d 20 74 6f 20 | 66 6c 61 67 20 31 30 20 |from to |flag 10 |
|00000e80| 31 33 20 74 5d 20 36 20 | 22 5c 0a 48 69 64 65 73 |13 t] 6 |"\.Hides|
|00000e90| 20 6f 72 20 73 68 6f 77 | 73 20 6c 69 6e 65 73 20 | or show|s lines |
|00000ea0| 66 72 6f 6d 20 46 52 4f | 4d 20 74 6f 20 54 4f 2c |from FRO|M to TO,|
|00000eb0| 20 61 63 63 6f 72 64 69 | 6e 67 20 74 6f 20 46 4c | accordi|ng to FL|
|00000ec0| 41 47 2e 20 20 49 66 20 | 46 4c 41 47 0a 69 73 20 |AG. If |FLAG.is |
|00000ed0| 5c 5c 6e 20 28 6e 65 77 | 6c 69 6e 65 20 63 68 61 |\\n (new|line cha|
|00000ee0| 72 61 63 74 65 72 29 20 | 74 68 65 6e 20 74 65 78 |racter) |then tex|
|00000ef0| 74 20 69 73 20 73 68 6f | 77 6e 2c 20 77 68 69 6c |t is sho|wn, whil|
|00000f00| 65 20 69 66 20 46 4c 41 | 47 20 69 73 20 5c 5c 5e |e if FLA|G is \\^|
|00000f10| 4d 0a 28 63 6f 6e 74 72 | 6f 6c 2d 4d 29 20 74 68 |M.(contr|ol-M) th|
|00000f20| 65 20 74 65 78 74 20 69 | 73 20 68 69 64 64 65 6e |e text i|s hidden|
|00000f30| 2e 22 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |."]).(de|falias '|
|00000f40| 68 69 66 2d 73 68 6f 77 | 2d 61 6c 6c 20 23 5b 6e |hif-show|-all #[n|
|00000f50| 69 6c 20 22 c0 65 64 c1 | 23 87 22 20 5b 68 69 66 |il ".ed.|#." [hif|
|00000f60| 2d 6f 75 74 6c 69 6e 65 | 2d 66 6c 61 67 2d 72 65 |-outline|-flag-re|
|00000f70| 67 69 6f 6e 20 31 30 5d | 20 34 20 22 5c 0a 53 68 |gion 10]| 4 "\.Sh|
|00000f80| 6f 77 20 61 6c 6c 20 6f | 66 20 74 68 65 20 74 65 |ow all o|f the te|
|00000f90| 78 74 20 69 6e 20 74 68 | 65 20 63 75 72 72 65 6e |xt in th|e curren|
|00000fa0| 74 20 62 75 66 66 65 72 | 2e 22 20 6e 69 6c 5d 29 |t buffer|." nil])|
|00000fb0| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 68 69 64 65 |.(defali|as 'hide|
|00000fc0| 2d 69 66 64 65 66 2d 72 | 65 67 69 6f 6e 20 23 5b |-ifdef-r|egion #[|
|00000fd0| 28 73 74 61 72 74 20 65 | 6e 64 29 20 22 c0 09 5c |(start e|nd) "..\|
|00000fe0| 6e c3 23 87 22 20 5b 68 | 69 66 2d 6f 75 74 6c 69 |n.#." [h|if-outli|
|00000ff0| 6e 65 2d 66 6c 61 67 2d | 72 65 67 69 6f 6e 20 73 |ne-flag-|region s|
|00001000| 74 61 72 74 20 65 6e 64 | 20 31 33 5d 20 34 20 22 |tart end| 13] 4 "|
|00001010| 5c 0a 53 54 41 52 54 20 | 69 73 20 74 68 65 20 73 |\.START |is the s|
|00001020| 74 61 72 74 20 6f 66 20 | 61 20 23 69 66 20 6f 72 |tart of |a #if or|
|00001030| 20 23 65 6c 73 65 20 66 | 6f 72 6d 2e 20 20 45 4e | #else f|orm. EN|
|00001040| 44 20 69 73 20 74 68 65 | 20 65 6e 64 69 6e 67 20 |D is the| ending |
|00001050| 70 61 72 74 2e 0a 45 76 | 65 72 79 74 68 69 6e 67 |part..Ev|erything|
|00001060| 20 69 6e 63 6c 75 64 69 | 6e 67 20 74 68 65 73 65 | includi|ng these|
|00001070| 20 6c 69 6e 65 73 20 69 | 73 20 6d 61 64 65 20 69 | lines i|s made i|
|00001080| 6e 76 69 73 69 62 6c 65 | 2e 22 5d 29 0a 28 64 65 |nvisible|."]).(de|
|00001090| 66 61 6c 69 61 73 20 27 | 68 69 66 2d 73 68 6f 77 |falias '|hif-show|
|000010a0| 2d 69 66 64 65 66 2d 72 | 65 67 69 6f 6e 20 23 5b |-ifdef-r|egion #[|
|000010b0| 28 73 74 61 72 74 20 65 | 6e 64 29 20 22 c0 09 5c |(start e|nd) "..\|
|000010c0| 6e c3 23 87 22 20 5b 68 | 69 66 2d 6f 75 74 6c 69 |n.#." [h|if-outli|
|000010d0| 6e 65 2d 66 6c 61 67 2d | 72 65 67 69 6f 6e 20 73 |ne-flag-|region s|
|000010e0| 74 61 72 74 20 65 6e 64 | 20 31 30 5d 20 34 20 22 |tart end| 10] 4 "|
|000010f0| 5c 0a 45 76 65 72 79 74 | 68 69 6e 67 20 62 65 74 |\.Everyt|hing bet|
|00001100| 77 65 65 6e 20 53 54 41 | 52 54 20 61 6e 64 20 45 |ween STA|RT and E|
|00001110| 4e 44 20 69 73 20 6d 61 | 64 65 20 76 69 73 69 62 |ND is ma|de visib|
|00001120| 6c 65 2e 22 5d 29 0a 28 | 64 65 66 76 61 72 20 68 |le."]).(|defvar h|
|00001130| 69 64 65 2d 69 66 64 65 | 66 2d 65 76 61 6c 75 61 |ide-ifde|f-evalua|
|00001140| 74 6f 72 20 28 71 75 6f | 74 65 20 65 76 61 6c 29 |tor (quo|te eval)|
|00001150| 20 22 5c 0a 54 68 65 20 | 65 76 61 6c 75 61 74 6f | "\.The |evaluato|
|00001160| 72 20 69 73 20 67 69 76 | 65 6e 20 61 20 63 61 6e |r is giv|en a can|
|00001170| 6f 6e 69 63 61 6c 20 66 | 6f 72 6d 20 61 6e 64 20 |onical f|orm and |
|00001180| 72 65 74 75 72 6e 73 20 | 54 20 69 66 20 74 65 78 |returns |T if tex|
|00001190| 74 20 75 6e 64 65 72 0a | 74 68 61 74 20 66 6f 72 |t under.|that for|
|000011a0| 6d 20 73 68 6f 75 6c 64 | 20 62 65 20 64 69 73 70 |m should| be disp|
|000011b0| 6c 61 79 65 64 2e 22 29 | 0a 28 64 65 66 76 61 72 |layed.")|.(defvar|
|000011c0| 20 68 69 66 2d 75 6e 64 | 65 66 69 6e 65 64 2d 73 | hif-und|efined-s|
|000011d0| 79 6d 62 6f 6c 20 6e 69 | 6c 20 22 5c 0a 2e 2e 2e |ymbol ni|l "\....|
|000011e0| 69 73 20 62 79 20 64 65 | 66 61 75 6c 74 20 63 6f |is by de|fault co|
|000011f0| 6e 73 69 64 65 72 65 64 | 20 74 6f 20 62 65 20 66 |nsidered| to be f|
|00001200| 61 6c 73 65 2e 22 29 0a | 28 64 65 66 76 61 72 20 |alse.").|(defvar |
|00001210| 68 69 64 65 2d 69 66 64 | 65 66 2d 65 6e 76 20 6e |hide-ifd|ef-env n|
|00001220| 69 6c 20 22 5c 0a 41 6e | 20 61 6c 69 73 74 20 6f |il "\.An| alist o|
|00001230| 66 20 64 65 66 69 6e 65 | 64 20 73 79 6d 62 6f 6c |f define|d symbol|
|00001240| 73 20 61 6e 64 20 74 68 | 65 69 72 20 76 61 6c 75 |s and th|eir valu|
|00001250| 65 73 2e 22 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |es.").(d|efalias |
|00001260| 27 68 69 66 2d 73 65 74 | 2d 76 61 72 20 23 5b 28 |'hif-set|-var #[(|
|00001270| 76 61 72 20 76 61 6c 75 | 65 29 20 22 08 09 42 5c |var valu|e) "..B\|
|00001280| 6e 42 89 12 87 22 20 5b | 76 61 72 20 76 61 6c 75 |nB..." [|var valu|
|00001290| 65 20 68 69 64 65 2d 69 | 66 64 65 66 2d 65 6e 76 |e hide-i|fdef-env|
|000012a0| 5d 20 32 20 22 5c 0a 50 | 72 65 70 65 6e 64 20 28 |] 2 "\.P|repend (|
|000012b0| 76 61 72 20 76 61 6c 75 | 65 29 20 70 61 69 72 20 |var valu|e) pair |
|000012c0| 74 6f 20 68 69 64 65 2d | 69 66 64 65 66 2d 65 6e |to hide-|ifdef-en|
|000012d0| 76 2e 22 5d 29 0a 28 62 | 79 74 65 2d 63 6f 64 65 |v."]).(b|yte-code|
|000012e0| 20 22 c0 c1 c2 5c 22 88 | c0 c3 c4 5c 22 88 c5 16 | "...\".|...\"...|
|000012f0| 06 c5 c7 50 16 08 0e 06 | c9 50 16 5c 6e 0e 06 cb |...P....|.P.\n...|
|00001300| 50 16 5c 66 0e 06 cd 50 | 16 0e 0e 5c 6e cf 0e 5c |P.\f...P|...\n..\|
|00001310| 66 cf 0e 0e b0 05 16 10 | c0 87 22 20 5b 64 65 66 |f.......|.." [def|
|00001320| 61 6c 69 61 73 20 68 69 | 66 2d 6c 6f 6f 6b 75 70 |alias hi|f-lookup|
|00001330| 20 23 5b 28 76 61 72 29 | 20 22 c0 09 5c 6e 5c 22 | #[(var)| "..\n\"|
|00001340| 89 1b 83 0e 00 0b 41 82 | 0f 00 5c 66 29 87 22 20 |......A.|..\f)." |
|00001350| 5b 61 73 73 6f 63 20 76 | 61 72 20 68 69 64 65 2d |[assoc v|ar hide-|
|00001360| 69 66 64 65 66 2d 65 6e | 76 20 76 61 6c 20 68 69 |ifdef-en|v val hi|
|00001370| 66 2d 75 6e 64 65 66 69 | 6e 65 64 2d 73 79 6d 62 |f-undefi|ned-symb|
|00001380| 6f 6c 5d 20 34 5d 20 68 | 69 66 2d 64 65 66 69 6e |ol] 4] h|if-defin|
|00001390| 65 64 20 23 5b 28 76 61 | 72 29 20 22 c0 09 21 87 |ed #[(va|r) "..!.|
|000013a0| 22 20 5b 68 69 66 2d 6c | 6f 6f 6b 75 70 20 76 61 |" [hif-l|ookup va|
|000013b0| 72 5d 20 32 5d 20 22 5c | 5c 28 5e 5c 5c 7c 0d 5c |r] 2] "\|\(^\\|.\|
|000013c0| 5c 29 5b 20 09 5d 2a 23 | 5b 20 09 5d 2a 22 20 68 |\)[ .]*#|[ .]*" h|
|000013d0| 69 66 2d 63 70 70 2d 70 | 72 65 66 69 78 20 22 69 |if-cpp-p|refix "i|
|000013e0| 66 6e 64 65 66 22 20 68 | 69 66 2d 69 66 6e 64 65 |fndef" h|if-ifnde|
|000013f0| 66 2d 72 65 67 65 78 70 | 20 22 69 66 5c 5c 28 6e |f-regexp| "if\\(n|
|00001400| 3f 64 65 66 5c 5c 29 3f | 5b 20 09 5d 2b 22 20 68 |?def\\)?|[ .]+" h|
|00001410| 69 66 2d 69 66 78 2d 72 | 65 67 65 78 70 20 22 65 |if-ifx-r|egexp "e|
|00001420| 6c 73 65 22 20 68 69 66 | 2d 65 6c 73 65 2d 72 65 |lse" hif|-else-re|
|00001430| 67 65 78 70 20 22 65 6e | 64 69 66 22 20 68 69 66 |gexp "en|dif" hif|
|00001440| 2d 65 6e 64 69 66 2d 72 | 65 67 65 78 70 20 22 5c |-endif-r|egexp "\|
|00001450| 5c 7c 22 20 68 69 66 2d | 69 66 78 2d 65 6c 73 65 |\|" hif-|ifx-else|
|00001460| 2d 65 6e 64 69 66 2d 72 | 65 67 65 78 70 5d 20 35 |-endif-r|egexp] 5|
|00001470| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 68 69 66 |).(defal|ias 'hif|
|00001480| 2d 69 6e 66 69 78 2d 74 | 6f 2d 70 72 65 66 69 78 |-infix-t|o-prefix|
|00001490| 20 23 5b 28 74 6f 6b 65 | 6e 2d 6c 69 73 74 29 20 | #[(toke|n-list) |
|000014a0| 22 08 47 c1 55 83 0e 00 | c2 c3 08 40 44 44 87 c4 |".G.U...|...@DD..|
|000014b0| 08 21 87 22 20 5b 74 6f | 6b 65 6e 2d 6c 69 73 74 |.!." [to|ken-list|
|000014c0| 20 31 20 68 69 66 2d 6c | 6f 6f 6b 75 70 20 71 75 | 1 hif-l|ookup qu|
|000014d0| 6f 74 65 20 68 69 66 2d | 70 61 72 73 65 2d 69 66 |ote hif-|parse-if|
|000014e0| 2d 65 78 70 5d 20 33 20 | 22 5c 0a 43 6f 6e 76 65 |-exp] 3 |"\.Conve|
|000014f0| 72 74 20 6c 69 73 74 20 | 6f 66 20 74 6f 6b 65 6e |rt list |of token|
|00001500| 73 20 69 6e 20 69 6e 66 | 69 78 20 69 6e 74 6f 20 |s in inf|ix into |
|00001510| 70 72 65 66 69 78 20 6c | 69 73 74 22 5d 29 0a 28 |prefix l|ist"]).(|
|00001520| 62 79 74 65 2d 63 6f 64 | 65 20 22 c0 11 c2 13 c4 |byte-cod|e ".....|
|00001530| 87 22 20 5b 22 5e 5c 5c | 28 21 5c 5c 7c 26 26 5c |." ["^\\|(!\\|&&\|
|00001540| 5c 7c 7c 7c 5c 5c 7c 5b | 28 29 5d 5c 5c 7c 5c 5c |\|||\\|[|()]\\|\\|
|00001550| 77 2b 5c 5c 29 22 20 68 | 69 66 2d 74 6f 6b 65 6e |w+\\)" h|if-token|
|00001560| 2d 72 65 67 65 78 70 20 | 22 5c 5c 2a 2f 22 20 68 |-regexp |"\\*/" h|
|00001570| 69 66 2d 65 6e 64 2d 6f | 66 2d 63 6f 6d 6d 65 6e |if-end-o|f-commen|
|00001580| 74 20 6e 69 6c 5d 20 31 | 29 0a 28 64 65 66 61 6c |t nil] 1|).(defal|
|00001590| 69 61 73 20 27 68 69 66 | 2d 74 6f 6b 65 6e 69 7a |ias 'hif|-tokeniz|
|000015a0| 65 20 23 5b 28 65 78 70 | 72 2d 73 74 72 69 6e 67 |e #[(exp|r-string|
|000015b0| 29 20 22 c0 c1 5c 6e 47 | c3 20 1c 1d 1e 06 1e 07 |) "..\nG|. ......|
|000015c0| c8 8e c9 0e 5c 6e 21 88 | 0e 06 0d 57 83 f0 00 cb |....\n!.|...W....|
|000015d0| cc 5c 6e 0e 06 23 83 31 | 00 c1 95 16 06 5c 6e 0e |.\n..#.1|.....\n.|
|000015e0| 06 53 cd 49 88 82 13 00 | cb ce 5c 6e 0e 06 23 83 |.S.I....|..\n..#.|
|000015f0| 64 00 c1 95 16 06 5c 6e | 0e 06 53 cd 49 88 cb 0e |d.....\n|..S.I...|
|00001600| 0f 5c 6e 0e 06 23 84 56 | 00 cb d0 5c 6e 0e 06 23 |.\n..#.V|...\n..#|
|00001610| 88 c1 95 16 06 5c 6e 0e | 06 53 cd 49 88 82 13 00 |.....\n.|.S.I....|
|00001620| cb d1 5c 6e 0e 06 23 83 | 7c 00 cb d0 5c 6e 0e 06 |..\n..#.||...\n..|
|00001630| 23 88 c1 95 89 16 06 82 | 15 00 cb 0e 12 5c 6e 0e |#.......|.....\n.|
|00001640| 06 23 83 e8 00 5c 6e 0e | 06 c1 95 4f 1e 13 c1 95 |.#...\n.|...O....|
|00001650| 16 06 5c 6e 0e 06 53 cd | 49 88 0e 13 d4 98 83 a4 |..\n..S.|I.......|
|00001660| 00 d5 82 df 00 0e 13 d6 | 98 83 af 00 d7 82 df 00 |........|........|
|00001670| 0e 13 d8 98 83 ba 00 d9 | 82 df 00 0e 13 da 98 83 |........|........|
|00001680| c5 00 db 82 df 00 0e 13 | dc 98 83 d0 00 dd 82 df |........|........|
|00001690| 00 0e 13 de 98 83 db 00 | df 82 df 00 e0 0e 13 21 |........|.......!|
|000016a0| 0e 07 42 16 07 29 82 13 | 00 e1 e2 5c 6e 5c 22 88 |..B..)..|...\n\".|
|000016b0| 82 13 00 29 0e 07 9f 2c | 87 22 20 5b 6e 69 6c 20 |...)...,|." [nil |
|000016c0| 30 20 65 78 70 72 2d 73 | 74 72 69 6e 67 20 73 79 |0 expr-s|tring sy|
|000016d0| 6e 74 61 78 2d 74 61 62 | 6c 65 20 63 75 72 72 65 |ntax-tab|le curre|
|000016e0| 6e 74 2d 73 79 6e 74 61 | 78 2d 74 61 62 6c 65 20 |nt-synta|x-table |
|000016f0| 65 78 70 72 2d 6c 65 6e | 67 74 68 20 65 78 70 72 |expr-len|gth expr|
|00001700| 2d 73 74 61 72 74 20 74 | 6f 6b 65 6e 2d 6c 69 73 |-start t|oken-lis|
|00001710| 74 20 28 28 73 65 74 2d | 73 79 6e 74 61 78 2d 74 |t ((set-|syntax-t|
|00001720| 61 62 6c 65 20 63 75 72 | 72 65 6e 74 2d 73 79 6e |able cur|rent-syn|
|00001730| 74 61 78 2d 74 61 62 6c | 65 29 29 20 73 65 74 2d |tax-tabl|e)) set-|
|00001740| 73 79 6e 74 61 78 2d 74 | 61 62 6c 65 20 68 69 64 |syntax-t|able hid|
|00001750| 65 2d 69 66 64 65 66 2d | 73 79 6e 74 61 78 2d 74 |e-ifdef-|syntax-t|
|00001760| 61 62 6c 65 20 73 74 72 | 69 6e 67 2d 6d 61 74 63 |able str|ing-matc|
|00001770| 68 20 22 5e 5b 20 09 5d | 2b 22 20 31 30 20 22 5e |h "^[ .]|+" 10 "^|
|00001780| 2f 5c 5c 2a 22 20 68 69 | 66 2d 65 6e 64 2d 6f 66 |/\\*" hi|f-end-of|
|00001790| 2d 63 6f 6d 6d 65 6e 74 | 20 22 24 22 20 22 5e 2f |-comment| "$" "^/|
|000017a0| 2f 22 20 68 69 66 2d 74 | 6f 6b 65 6e 2d 72 65 67 |/" hif-t|oken-reg|
|000017b0| 65 78 70 20 74 6f 6b 65 | 6e 20 22 7c 7c 22 20 6f |exp toke|n "||" o|
|000017c0| 72 20 22 26 26 22 20 61 | 6e 64 20 22 21 22 20 6e |r "&&" a|nd "!" n|
|000017d0| 6f 74 20 22 64 65 66 69 | 6e 65 64 22 20 68 69 66 |ot "defi|ned" hif|
|000017e0| 2d 64 65 66 69 6e 65 64 | 20 22 28 22 20 6c 70 61 |-defined| "(" lpa|
|000017f0| 72 65 6e 20 22 29 22 20 | 72 70 61 72 65 6e 20 69 |ren ")" |rparen i|
|00001800| 6e 74 65 72 6e 20 65 72 | 72 6f 72 20 22 42 61 64 |ntern er|ror "Bad|
|00001810| 20 23 69 66 20 65 78 70 | 72 65 73 73 69 6f 6e 3a | #if exp|ression:|
|00001820| 20 25 73 22 5d 20 35 20 | 22 5c 0a 53 65 70 61 72 | %s"] 5 |"\.Separ|
|00001830| 61 74 65 20 73 74 72 69 | 6e 67 20 69 6e 74 6f 20 |ate stri|ng into |
|00001840| 61 20 6c 69 73 74 20 6f | 66 20 74 6f 6b 65 6e 73 |a list o|f tokens|
|00001850| 22 5d 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 68 |"]).(def|alias 'h|
|00001860| 69 66 2d 70 61 72 73 65 | 2d 69 66 2d 65 78 70 20 |if-parse|-if-exp |
|00001870| 23 5b 28 74 6f 6b 65 6e | 2d 6c 69 73 74 29 20 22 |#[(token|-list) "|
|00001880| c0 20 88 c1 20 5c 6e 83 | 0e 00 c3 c4 5c 6e 5c 22 |. .. \n.|....\n\"|
|00001890| 88 87 22 20 5b 68 69 66 | 2d 6e 65 78 74 74 6f 6b |.." [hif|-nexttok|
|000018a0| 65 6e 20 68 69 66 2d 65 | 78 70 72 20 74 6f 6b 65 |en hif-e|xpr toke|
|000018b0| 6e 20 65 72 72 6f 72 20 | 22 45 72 72 6f 72 3a 20 |n error |"Error: |
|000018c0| 75 6e 65 78 70 65 63 74 | 65 64 20 74 6f 6b 65 6e |unexpect|ed token|
|000018d0| 3a 20 25 73 22 5d 20 34 | 20 22 5c 0a 50 61 72 73 |: %s"] 4| "\.Pars|
|000018e0| 65 20 74 68 65 20 54 4f | 4b 45 4e 2d 4c 49 53 54 |e the TO|KEN-LIST|
|000018f0| 2e 20 20 52 65 74 75 72 | 6e 20 74 72 61 6e 73 6c |. Retur|n transl|
|00001900| 61 74 65 64 20 6c 69 73 | 74 20 69 6e 20 70 72 65 |ated lis|t in pre|
|00001910| 66 69 78 20 66 6f 72 6d | 2e 22 5d 29 0a 28 64 65 |fix form|."]).(de|
|00001920| 66 61 6c 69 61 73 20 27 | 68 69 66 2d 6e 65 78 74 |falias '|hif-next|
|00001930| 74 6f 6b 65 6e 20 23 5b | 6e 69 6c 20 22 08 40 11 |token #[|nil ".@.|
|00001940| 08 41 10 09 87 22 20 5b | 74 6f 6b 65 6e 2d 6c 69 |.A..." [|token-li|
|00001950| 73 74 20 74 6f 6b 65 6e | 5d 20 31 20 22 5c 0a 50 |st token|] 1 "\.P|
|00001960| 6f 70 20 74 68 65 20 6e | 65 78 74 20 74 6f 6b 65 |op the n|ext toke|
|00001970| 6e 20 66 72 6f 6d 20 74 | 6f 6b 65 6e 2d 6c 69 73 |n from t|oken-lis|
|00001980| 74 20 69 6e 74 6f 20 74 | 68 65 20 6c 65 74 20 76 |t into t|he let v|
|00001990| 61 72 69 61 62 6c 65 20 | 5c 22 74 6f 6b 65 6e 5c |ariable |\"token\|
|000019a0| 22 2e 22 5d 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |"."]).(d|efalias |
|000019b0| 27 68 69 66 2d 65 78 70 | 72 20 23 5b 6e 69 6c 20 |'hif-exp|r #[nil |
|000019c0| 22 c0 20 19 5c 6e c3 3d | 83 15 00 c4 20 88 c3 09 |". .\n.=|.... ...|
|000019d0| c0 20 45 11 82 03 00 09 | 29 87 22 20 5b 68 69 66 |. E.....|)." [hif|
|000019e0| 2d 74 65 72 6d 20 72 65 | 73 75 6c 74 20 74 6f 6b |-term re|sult tok|
|000019f0| 65 6e 20 6f 72 20 68 69 | 66 2d 6e 65 78 74 74 6f |en or hi|f-nextto|
|00001a00| 6b 65 6e 5d 20 33 20 22 | 5c 0a 50 61 72 73 65 20 |ken] 3 "|\.Parse |
|00001a10| 61 6e 64 20 65 78 70 72 | 65 73 73 69 6f 6e 20 6f |and expr|ession o|
|00001a20| 66 20 74 68 65 20 66 6f | 72 6d 0a 20 20 20 20 20 |f the fo|rm. |
|00001a30| 20 20 65 78 70 72 20 3a | 20 74 65 72 6d 20 7c 20 | expr :| term | |
|00001a40| 65 78 70 72 20 27 7c 7c | 27 20 74 65 72 6d 2e 22 |expr '|||' term."|
|00001a50| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 68 69 |]).(defa|lias 'hi|
|00001a60| 66 2d 74 65 72 6d 20 23 | 5b 6e 69 6c 20 22 c0 20 |f-term #|[nil ". |
|00001a70| 19 5c 6e c3 3d 83 15 00 | c4 20 88 c3 09 c0 20 45 |.\n.=...|. .... E|
|00001a80| 11 82 03 00 09 29 87 22 | 20 5b 68 69 66 2d 66 61 |.....)."| [hif-fa|
|00001a90| 63 74 6f 72 20 72 65 73 | 75 6c 74 20 74 6f 6b 65 |ctor res|ult toke|
|00001aa0| 6e 20 61 6e 64 20 68 69 | 66 2d 6e 65 78 74 74 6f |n and hi|f-nextto|
|00001ab0| 6b 65 6e 5d 20 33 20 22 | 5c 0a 50 61 72 73 65 20 |ken] 3 "|\.Parse |
|00001ac0| 61 20 74 65 72 6d 20 6f | 66 20 74 68 65 20 66 6f |a term o|f the fo|
|00001ad0| 72 6d 0a 20 20 20 20 20 | 20 20 74 65 72 6d 20 3a |rm. | term :|
|00001ae0| 20 66 61 63 74 6f 72 20 | 7c 20 74 65 72 6d 20 27 | factor || term '|
|00001af0| 26 26 27 20 66 61 63 74 | 6f 72 2e 22 5d 29 0a 28 |&&' fact|or."]).(|
|00001b00| 64 65 66 61 6c 69 61 73 | 20 27 68 69 66 2d 66 61 |defalias| 'hif-fa|
|00001b10| 63 74 6f 72 20 23 5b 6e | 69 6c 20 22 08 c1 3d 83 |ctor #[n|il "..=.|
|00001b20| 0e 00 c2 20 88 c1 c3 20 | 44 87 08 c4 3d 83 2f 00 |... ... |D...=./.|
|00001b30| c2 20 88 c5 20 1e 06 08 | c7 3d 84 28 00 c8 c9 08 |. .. ...|.=.(....|
|00001b40| 5c 22 82 2d 00 c2 20 88 | 0e 06 29 87 08 ca 3d 83 |\".-.. .|..)...=.|
|00001b50| 6b 00 c2 20 88 08 c4 3d | 84 42 00 c8 cb 21 88 c2 |k.. ...=|.B...!..|
|00001b60| 20 88 08 1e 5c 66 08 cd | 3e 83 53 00 c8 ce 08 5c | ...\f..|>.S....\|
|00001b70| 22 88 c2 20 88 08 c7 3d | 84 60 00 c8 cf 21 88 c2 |".. ...=|.`...!..|
|00001b80| 20 88 ca d0 0e 5c 66 29 | 44 44 87 08 89 1e 5c 66 | ....\f)|DD....\f|
|00001b90| d1 3e 83 78 00 c8 d2 21 | 88 c2 20 88 d3 d0 0e 5c |.>.x...!|.. ....\|
|00001ba0| 66 29 44 44 87 22 20 5b | 74 6f 6b 65 6e 20 6e 6f |f)DD." [|token no|
|00001bb0| 74 20 68 69 66 2d 6e 65 | 78 74 74 6f 6b 65 6e 20 |t hif-ne|xttoken |
|00001bc0| 68 69 66 2d 66 61 63 74 | 6f 72 20 6c 70 61 72 65 |hif-fact|or lpare|
|00001bd0| 6e 20 68 69 66 2d 65 78 | 70 72 20 72 65 73 75 6c |n hif-ex|pr resul|
|00001be0| 74 20 72 70 61 72 65 6e | 20 65 72 72 6f 72 20 22 |t rparen| error "|
|00001bf0| 42 61 64 20 74 6f 6b 65 | 6e 20 69 6e 20 70 61 72 |Bad toke|n in par|
|00001c00| 65 6e 74 68 65 73 69 7a | 65 64 20 65 78 70 72 65 |enthesiz|ed expre|
|00001c10| 73 73 69 6f 6e 3a 20 25 | 73 22 20 68 69 66 2d 64 |ssion: %|s" hif-d|
|00001c20| 65 66 69 6e 65 64 20 22 | 45 72 72 6f 72 3a 20 65 |efined "|Error: e|
|00001c30| 78 70 65 63 74 65 64 20 | 5c 22 28 5c 22 20 61 66 |xpected |\"(\" af|
|00001c40| 74 65 72 20 5c 22 64 65 | 66 69 6e 65 64 5c 22 22 |ter \"de|fined\""|
|00001c50| 20 69 64 65 6e 74 20 28 | 6f 72 20 61 6e 64 20 6e | ident (|or and n|
|00001c60| 6f 74 20 68 69 66 2d 64 | 65 66 69 6e 65 64 20 6c |ot hif-d|efined l|
|00001c70| 70 61 72 65 6e 20 72 70 | 61 72 65 6e 29 20 22 45 |paren rp|aren) "E|
|00001c80| 72 72 6f 72 3a 20 75 6e | 65 78 70 65 63 74 65 64 |rror: un|expected|
|00001c90| 20 74 6f 6b 65 6e 3a 20 | 25 73 22 20 22 45 72 72 | token: |%s" "Err|
|00001ca0| 6f 72 3a 20 65 78 70 65 | 63 74 65 64 20 5c 22 29 |or: expe|cted \")|
|00001cb0| 5c 22 20 61 66 74 65 72 | 20 69 64 65 6e 74 69 66 |\" after| identif|
|00001cc0| 69 65 72 22 20 71 75 6f | 74 65 20 28 6f 72 20 61 |ier" quo|te (or a|
|00001cd0| 6e 64 29 20 22 45 72 72 | 6f 72 3a 20 6d 69 73 73 |nd) "Err|or: miss|
|00001ce0| 69 6e 67 20 69 64 65 6e | 74 69 66 69 65 72 22 20 |ing iden|tifier" |
|00001cf0| 68 69 66 2d 6c 6f 6f 6b | 75 70 5d 20 34 20 22 5c |hif-look|up] 4 "\|
|00001d00| 0a 50 61 72 73 65 20 61 | 20 66 61 63 74 6f 72 20 |.Parse a| factor |
|00001d10| 6f 66 20 74 68 65 20 66 | 6f 72 6d 0a 20 20 20 20 |of the f|orm. |
|00001d20| 20 20 20 66 61 63 74 6f | 72 20 3a 20 27 21 27 20 | facto|r : '!' |
|00001d30| 66 61 63 74 6f 72 20 7c | 20 27 28 27 20 65 78 70 |factor || '(' exp|
|00001d40| 72 20 27 29 27 20 7c 20 | 27 64 65 66 69 6e 65 64 |r ')' | |'defined|
|00001d50| 28 27 20 69 64 20 27 29 | 27 20 7c 20 69 64 2e 22 |(' id ')|' | id."|
|00001d60| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 68 69 |]).(defa|lias 'hi|
|00001d70| 66 2d 63 61 6e 6f 6e 69 | 63 61 6c 69 7a 65 20 23 |f-canoni|calize #|
|00001d80| 5b 6e 69 6c 20 22 8a c0 | 09 21 1a c3 5c 66 21 88 |[nil "..|.!..\f!.|
|00001d90| 60 c5 c6 77 88 60 7b 1e | 07 c8 c9 0e 07 21 21 1e |`..w.`{.|.....!!.|
|00001da0| 5c 6e 5c 6e 83 25 00 cb | 0e 5c 6e 44 82 27 00 0e |\n\n.%..|.\nD.'..|
|00001db0| 5c 6e 2c 87 22 20 5b 6c | 6f 6f 6b 69 6e 67 2d 61 |\n,." [l|ooking-a|
|00001dc0| 74 20 68 69 66 2d 69 66 | 6e 64 65 66 2d 72 65 67 |t hif-if|ndef-reg|
|00001dd0| 65 78 70 20 6e 65 67 61 | 74 65 20 72 65 2d 73 65 |exp nega|te re-se|
|00001de0| 61 72 63 68 2d 66 6f 72 | 77 61 72 64 20 68 69 66 |arch-for|ward hif|
|00001df0| 2d 69 66 78 2d 72 65 67 | 65 78 70 20 22 5e 5c 6e |-ifx-reg|exp "^\n|
|00001e00| 0d 22 20 6e 69 6c 20 65 | 78 70 72 2d 73 74 72 69 |." nil e|xpr-stri|
|00001e10| 6e 67 20 68 69 66 2d 69 | 6e 66 69 78 2d 74 6f 2d |ng hif-i|nfix-to-|
|00001e20| 70 72 65 66 69 78 20 68 | 69 66 2d 74 6f 6b 65 6e |prefix h|if-token|
|00001e30| 69 7a 65 20 65 78 70 72 | 20 6e 6f 74 5d 20 33 20 |ize expr| not] 3 |
|00001e40| 22 5c 0a 57 68 65 6e 20 | 61 74 20 62 65 67 69 6e |"\.When |at begin|
|00001e50| 6e 69 6e 67 20 6f 66 20 | 23 69 66 58 2c 20 72 65 |ning of |#ifX, re|
|00001e60| 74 75 72 6e 73 20 61 20 | 63 61 6e 6f 6e 69 63 61 |turns a |canonica|
|00001e70| 6c 20 28 65 76 61 6c 75 | 61 74 61 62 6c 65 29 0a |l (evalu|atable).|
|00001e80| 20 20 20 20 20 20 20 66 | 6f 72 6d 20 66 6f 72 20 | f|orm for |
|00001e90| 74 68 65 20 65 78 70 72 | 65 73 73 69 6f 6e 2e 22 |the expr|ession."|
|00001ea0| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 68 69 |]).(defa|lias 'hi|
|00001eb0| 66 2d 66 69 6e 64 2d 61 | 6e 79 2d 69 66 58 20 23 |f-find-a|ny-ifX #|
|00001ec0| 5b 6e 69 6c 20 22 c0 09 | 64 c2 23 c3 79 88 87 22 |[nil "..|d.#.y.."|
|00001ed0| 20 5b 72 65 2d 73 65 61 | 72 63 68 2d 66 6f 72 77 | [re-sea|rch-forw|
|00001ee0| 61 72 64 20 68 69 66 2d | 69 66 78 2d 72 65 67 65 |ard hif-|ifx-rege|
|00001ef0| 78 70 20 74 20 30 5d 20 | 34 20 22 5c 0a 50 6f 73 |xp t 0] |4 "\.Pos|
|00001f00| 69 74 69 6f 6e 20 61 74 | 20 62 65 67 69 6e 6e 69 |ition at| beginni|
|00001f10| 6e 67 20 6f 66 20 6e 65 | 78 74 20 23 69 66 2c 20 |ng of ne|xt #if, |
|00001f20| 23 69 66 64 65 66 2c 20 | 6f 72 20 23 69 66 6e 64 |#ifdef, |or #ifnd|
|00001f30| 65 66 2c 20 69 6e 63 6c | 75 64 69 6e 67 20 6f 6e |ef, incl|uding on|
|00001f40| 65 20 6f 6e 0a 74 68 69 | 73 20 6c 69 6e 65 2e 22 |e on.thi|s line."|
|00001f50| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 68 69 |]).(defa|lias 'hi|
|00001f60| 66 2d 66 69 6e 64 2d 6e | 65 78 74 2d 72 65 6c 65 |f-find-n|ext-rele|
|00001f70| 76 61 6e 74 20 23 5b 6e | 69 6c 20 22 c0 7f 88 c1 |vant #[n|il "....|
|00001f80| 5c 6e 64 c3 23 85 0f 00 | c4 79 88 c0 87 22 20 5b |\nd.#...|.y..." [|
|00001f90| 6e 69 6c 20 72 65 2d 73 | 65 61 72 63 68 2d 66 6f |nil re-s|earch-fo|
|00001fa0| 72 77 61 72 64 20 68 69 | 66 2d 69 66 78 2d 65 6c |rward hi|f-ifx-el|
|00001fb0| 73 65 2d 65 6e 64 69 66 | 2d 72 65 67 65 78 70 20 |se-endif|-regexp |
|00001fc0| 74 20 30 5d 20 34 20 22 | 5c 0a 50 6f 73 69 74 69 |t 0] 4 "|\.Positi|
|00001fd0| 6f 6e 20 61 74 20 62 65 | 67 69 6e 6e 69 6e 67 20 |on at be|ginning |
|00001fe0| 6f 66 20 6e 65 78 74 20 | 23 69 66 64 65 66 2c 20 |of next |#ifdef, |
|00001ff0| 23 69 66 6e 64 65 66 2c | 20 23 65 6c 73 65 2c 20 |#ifndef,| #else, |
|00002000| 23 65 6e 64 69 66 2c 0a | 4e 4f 54 20 69 6e 63 6c |#endif,.|NOT incl|
|00002010| 75 64 69 6e 67 20 6f 6e | 65 20 6f 6e 20 74 68 69 |uding on|e on thi|
|00002020| 73 20 6c 69 6e 65 2e 22 | 5d 29 0a 28 64 65 66 61 |s line."|]).(defa|
|00002030| 6c 69 61 73 20 27 68 69 | 66 2d 66 69 6e 64 2d 70 |lias 'hi|f-find-p|
|00002040| 72 65 76 69 6f 75 73 2d | 72 65 6c 65 76 61 6e 74 |revious-|relevant|
|00002050| 20 23 5b 6e 69 6c 20 22 | c0 79 88 c1 5c 6e 65 c3 | #[nil "|.y..\ne.|
|00002060| 23 85 0f 00 c0 79 88 c4 | 87 22 20 5b 30 20 72 65 |#....y..|." [0 re|
|00002070| 2d 73 65 61 72 63 68 2d | 62 61 63 6b 77 61 72 64 |-search-|backward|
|00002080| 20 68 69 66 2d 69 66 78 | 2d 65 6c 73 65 2d 65 6e | hif-ifx|-else-en|
|00002090| 64 69 66 2d 72 65 67 65 | 78 70 20 74 20 6e 69 6c |dif-rege|xp t nil|
|000020a0| 5d 20 34 20 22 5c 0a 50 | 6f 73 69 74 69 6f 6e 20 |] 4 "\.P|osition |
|000020b0| 61 74 20 62 65 67 69 6e | 6e 69 6e 67 20 6f 66 20 |at begin|ning of |
|000020c0| 70 72 65 76 69 6f 75 73 | 20 23 69 66 64 65 66 2c |previous| #ifdef,|
|000020d0| 20 23 69 66 6e 64 65 66 | 2c 20 23 65 6c 73 65 2c | #ifndef|, #else,|
|000020e0| 20 23 65 6e 64 69 66 2c | 0a 4e 4f 54 20 69 6e 63 | #endif,|.NOT inc|
|000020f0| 6c 75 64 69 6e 67 20 6f | 6e 65 20 6f 6e 20 74 68 |luding o|ne on th|
|00002100| 69 73 20 6c 69 6e 65 2e | 22 5d 29 0a 28 62 79 74 |is line.|"]).(byt|
|00002110| 65 2d 63 6f 64 65 20 22 | c0 c1 c2 5c 22 88 c0 c3 |e-code "|...\"...|
|00002120| c4 5c 22 88 c0 c5 c6 5c | 22 87 22 20 5b 64 65 66 |.\"....\|"." [def|
|00002130| 61 6c 69 61 73 20 68 69 | 66 2d 6c 6f 6f 6b 69 6e |alias hi|f-lookin|
|00002140| 67 2d 61 74 2d 69 66 58 | 20 23 5b 6e 69 6c 20 22 |g-at-ifX| #[nil "|
|00002150| c0 09 21 87 22 20 5b 6c | 6f 6f 6b 69 6e 67 2d 61 |..!." [l|ooking-a|
|00002160| 74 20 68 69 66 2d 69 66 | 78 2d 72 65 67 65 78 70 |t hif-if|x-regexp|
|00002170| 5d 20 32 5d 20 68 69 66 | 2d 6c 6f 6f 6b 69 6e 67 |] 2] hif|-looking|
|00002180| 2d 61 74 2d 65 6e 64 69 | 66 20 23 5b 6e 69 6c 20 |-at-endi|f #[nil |
|00002190| 22 c0 09 21 87 22 20 5b | 6c 6f 6f 6b 69 6e 67 2d |"..!." [|looking-|
|000021a0| 61 74 20 68 69 66 2d 65 | 6e 64 69 66 2d 72 65 67 |at hif-e|ndif-reg|
|000021b0| 65 78 70 5d 20 32 5d 20 | 68 69 66 2d 6c 6f 6f 6b |exp] 2] |hif-look|
|000021c0| 69 6e 67 2d 61 74 2d 65 | 6c 73 65 20 23 5b 6e 69 |ing-at-e|lse #[ni|
|000021d0| 6c 20 22 c0 09 21 87 22 | 20 5b 6c 6f 6f 6b 69 6e |l "..!."| [lookin|
|000021e0| 67 2d 61 74 20 68 69 66 | 2d 65 6c 73 65 2d 72 65 |g-at hif|-else-re|
|000021f0| 67 65 78 70 5d 20 32 5d | 5d 20 33 29 0a 28 64 65 |gexp] 2]|] 3).(de|
|00002200| 66 61 6c 69 61 73 20 27 | 68 69 66 2d 69 66 64 65 |falias '|hif-ifde|
|00002210| 66 2d 74 6f 2d 65 6e 64 | 69 66 20 23 5b 6e 69 6c |f-to-end|if #[nil|
|00002220| 20 22 c0 20 88 c1 20 83 | 0e 00 c2 20 88 c2 20 87 | ". .. .|... .. .|
|00002230| c3 20 83 16 00 c2 20 87 | c4 20 83 1d 00 c5 87 c6 |. .... .|. ......|
|00002240| c7 21 87 22 20 5b 68 69 | 66 2d 66 69 6e 64 2d 6e |.!." [hi|f-find-n|
|00002250| 65 78 74 2d 72 65 6c 65 | 76 61 6e 74 20 68 69 66 |ext-rele|vant hif|
|00002260| 2d 6c 6f 6f 6b 69 6e 67 | 2d 61 74 2d 69 66 58 20 |-looking|-at-ifX |
|00002270| 68 69 66 2d 69 66 64 65 | 66 2d 74 6f 2d 65 6e 64 |hif-ifde|f-to-end|
|00002280| 69 66 20 68 69 66 2d 6c | 6f 6f 6b 69 6e 67 2d 61 |if hif-l|ooking-a|
|00002290| 74 2d 65 6c 73 65 20 68 | 69 66 2d 6c 6f 6f 6b 69 |t-else h|if-looki|
|000022a0| 6e 67 2d 61 74 2d 65 6e | 64 69 66 20 64 6f 6e 65 |ng-at-en|dif done|
|000022b0| 20 65 72 72 6f 72 20 22 | 4d 69 73 6d 61 74 63 68 | error "|Mismatch|
|000022c0| 65 64 20 23 69 66 64 65 | 66 20 23 65 6e 64 69 66 |ed #ifde|f #endif|
|000022d0| 20 70 61 69 72 22 5d 20 | 32 20 22 5c 0a 49 66 20 | pair"] |2 "\.If |
|000022e0| 70 6f 73 69 74 69 6f 6e | 65 64 20 61 74 20 23 69 |position|ed at #i|
|000022f0| 66 58 20 6f 72 20 23 65 | 6c 73 65 20 66 6f 72 6d |fX or #e|lse form|
|00002300| 2c 20 73 6b 69 70 20 74 | 6f 20 63 6f 72 72 65 73 |, skip t|o corres|
|00002310| 70 6f 6e 64 69 6e 67 20 | 23 65 6e 64 69 66 2e 22 |ponding |#endif."|
|00002320| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 68 69 |]).(defa|lias 'hi|
|00002330| 66 2d 65 6e 64 69 66 2d | 74 6f 2d 69 66 64 65 66 |f-endif-|to-ifdef|
|00002340| 20 23 5b 6e 69 6c 20 22 | 60 18 c1 20 88 08 60 55 | #[nil "|`.. ..`U|
|00002350| 83 0f 00 c2 c3 21 88 29 | c4 20 83 1b 00 c5 20 88 |.....!.)|. .... .|
|00002360| c5 20 87 c6 20 83 23 00 | c5 20 87 c7 20 83 2a 00 |. .. .#.|. .. .*.|
|00002370| c8 87 c9 87 22 20 5b 73 | 74 61 72 74 20 68 69 66 |...." [s|tart hif|
|00002380| 2d 66 69 6e 64 2d 70 72 | 65 76 69 6f 75 73 2d 72 |-find-pr|evious-r|
|00002390| 65 6c 65 76 61 6e 74 20 | 65 72 72 6f 72 20 22 4d |elevant |error "M|
|000023a0| 69 73 6d 61 74 63 68 65 | 64 20 23 69 66 64 65 66 |ismatche|d #ifdef|
|000023b0| 20 23 65 6e 64 69 66 20 | 70 61 69 72 22 20 68 69 | #endif |pair" hi|
|000023c0| 66 2d 6c 6f 6f 6b 69 6e | 67 2d 61 74 2d 65 6e 64 |f-lookin|g-at-end|
|000023d0| 69 66 20 68 69 66 2d 65 | 6e 64 69 66 2d 74 6f 2d |if hif-e|ndif-to-|
|000023e0| 69 66 64 65 66 20 68 69 | 66 2d 6c 6f 6f 6b 69 6e |ifdef hi|f-lookin|
|000023f0| 67 2d 61 74 2d 65 6c 73 | 65 20 68 69 66 2d 6c 6f |g-at-els|e hif-lo|
|00002400| 6f 6b 69 6e 67 2d 61 74 | 2d 69 66 58 20 64 6f 6e |oking-at|-ifX don|
|00002410| 65 20 74 5d 20 32 20 22 | 5c 0a 49 66 20 70 6f 73 |e t] 2 "|\.If pos|
|00002420| 69 74 69 6f 6e 65 64 20 | 61 74 20 23 65 6e 64 69 |itioned |at #endi|
|00002430| 66 20 66 6f 72 6d 2c 20 | 73 6b 69 70 20 62 61 63 |f form, |skip bac|
|00002440| 6b 77 61 72 64 20 74 6f | 20 63 6f 72 72 65 73 70 |kward to| corresp|
|00002450| 6f 6e 64 69 6e 67 20 23 | 69 66 58 2e 22 5d 29 0a |onding #|ifX."]).|
|00002460| 28 64 65 66 61 6c 69 61 | 73 20 27 66 6f 72 77 61 |(defalia|s 'forwa|
|00002470| 72 64 2d 69 66 64 65 66 | 20 23 5b 28 26 6f 70 74 |rd-ifdef| #[(&opt|
|00002480| 69 6f 6e 61 6c 20 61 72 | 67 29 20 22 08 84 06 00 |ional ar|g) "....|
|00002490| c1 10 08 c2 57 83 11 00 | c3 08 5b 21 88 c2 08 57 |....W...|..[!...W|
|000024a0| 85 3a 00 08 5b 10 60 1c | c5 20 84 24 00 c6 20 88 |.:..[.`.|. .$.. .|
|000024b0| c5 20 83 2f 00 c7 20 88 | 82 36 00 5c 66 62 88 c8 |. ./.. .|.6.\fb..|
|000024c0| c9 21 88 29 82 11 00 87 | 22 20 5b 61 72 67 20 31 |.!.)....|" [arg 1|
|000024d0| 20 30 20 62 61 63 6b 77 | 61 72 64 2d 69 66 64 65 | 0 backw|ard-ifde|
|000024e0| 66 20 73 74 61 72 74 20 | 68 69 66 2d 6c 6f 6f 6b |f start |hif-look|
|000024f0| 69 6e 67 2d 61 74 2d 69 | 66 58 20 68 69 66 2d 66 |ing-at-i|fX hif-f|
|00002500| 69 6e 64 2d 6e 65 78 74 | 2d 72 65 6c 65 76 61 6e |ind-next|-relevan|
|00002510| 74 20 68 69 66 2d 69 66 | 64 65 66 2d 74 6f 2d 65 |t hif-if|def-to-e|
|00002520| 6e 64 69 66 20 65 72 72 | 6f 72 20 22 4e 6f 20 66 |ndif err|or "No f|
|00002530| 6f 6c 6c 6f 77 69 6e 67 | 20 23 69 66 64 65 66 22 |ollowing| #ifdef"|
|00002540| 5d 20 32 20 22 5c 0a 4d | 6f 76 65 20 70 6f 69 6e |] 2 "\.M|ove poin|
|00002550| 74 20 74 6f 20 62 65 67 | 69 6e 6e 69 6e 67 20 6f |t to beg|inning o|
|00002560| 66 20 6c 69 6e 65 20 6f | 66 20 74 68 65 20 6e 65 |f line o|f the ne|
|00002570| 78 74 20 69 66 64 65 66 | 2d 65 6e 64 69 66 2e 0a |xt ifdef|-endif..|
|00002580| 57 69 74 68 20 61 72 67 | 75 6d 65 6e 74 2c 20 64 |With arg|ument, d|
|00002590| 6f 20 74 68 69 73 20 74 | 68 61 74 20 6d 61 6e 79 |o this t|hat many|
|000025a0| 20 74 69 6d 65 73 2e 22 | 20 22 70 22 5d 29 0a 28 | times."| "p"]).(|
|000025b0| 64 65 66 61 6c 69 61 73 | 20 27 62 61 63 6b 77 61 |defalias| 'backwa|
|000025c0| 72 64 2d 69 66 64 65 66 | 20 23 5b 28 26 6f 70 74 |rd-ifdef| #[(&opt|
|000025d0| 69 6f 6e 61 6c 20 61 72 | 67 29 20 22 08 84 06 00 |ional ar|g) "....|
|000025e0| c1 10 08 c2 57 83 11 00 | c3 08 5b 21 88 c2 08 57 |....W...|..[!...W|
|000025f0| 85 3d 00 08 53 10 c2 79 | 88 60 1c c5 20 84 27 00 |.=..S..y|.`.. .'.|
|00002600| c6 20 88 c5 20 83 32 00 | c7 20 88 82 39 00 5c 66 |. .. .2.|. ..9.\f|
|00002610| 62 88 c8 c9 21 88 29 82 | 11 00 87 22 20 5b 61 72 |b...!.).|..." [ar|
|00002620| 67 20 31 20 30 20 66 6f | 72 77 61 72 64 2d 69 66 |g 1 0 fo|rward-if|
|00002630| 64 65 66 20 73 74 61 72 | 74 20 68 69 66 2d 6c 6f |def star|t hif-lo|
|00002640| 6f 6b 69 6e 67 2d 61 74 | 2d 65 6e 64 69 66 20 68 |oking-at|-endif h|
|00002650| 69 66 2d 66 69 6e 64 2d | 70 72 65 76 69 6f 75 73 |if-find-|previous|
|00002660| 2d 72 65 6c 65 76 61 6e | 74 20 68 69 66 2d 65 6e |-relevan|t hif-en|
|00002670| 64 69 66 2d 74 6f 2d 69 | 66 64 65 66 20 65 72 72 |dif-to-i|fdef err|
|00002680| 6f 72 20 22 4e 6f 20 70 | 72 65 76 69 6f 75 73 20 |or "No p|revious |
|00002690| 23 69 66 64 65 66 22 5d | 20 32 20 22 5c 0a 4d 6f |#ifdef"]| 2 "\.Mo|
|000026a0| 76 65 20 70 6f 69 6e 74 | 20 74 6f 20 62 65 67 69 |ve point| to begi|
|000026b0| 6e 6e 69 6e 67 20 6f 66 | 20 74 68 65 20 70 72 65 |nning of| the pre|
|000026c0| 76 69 6f 75 73 20 69 66 | 64 65 66 2d 65 6e 64 69 |vious if|def-endi|
|000026d0| 66 2e 0a 57 69 74 68 20 | 61 72 67 75 6d 65 6e 74 |f..With |argument|
|000026e0| 2c 20 64 6f 20 74 68 69 | 73 20 74 68 61 74 20 6d |, do thi|s that m|
|000026f0| 61 6e 79 20 74 69 6d 65 | 73 2e 22 20 22 70 22 5d |any time|s." "p"]|
|00002700| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 64 6f 77 |).(defal|ias 'dow|
|00002710| 6e 2d 69 66 64 65 66 20 | 23 5b 6e 69 6c 20 22 60 |n-ifdef |#[nil "`|
|00002720| 18 c1 20 88 c2 20 86 5c | 66 00 c3 20 3f 85 16 00 |.. .. .\|f.. ?...|
|00002730| 08 62 88 c4 c5 21 29 87 | 22 20 5b 73 74 61 72 74 |.b...!).|" [start|
|00002740| 20 68 69 66 2d 66 69 6e | 64 2d 6e 65 78 74 2d 72 | hif-fin|d-next-r|
|00002750| 65 6c 65 76 61 6e 74 20 | 68 69 66 2d 6c 6f 6f 6b |elevant |hif-look|
|00002760| 69 6e 67 2d 61 74 2d 69 | 66 58 20 68 69 66 2d 6c |ing-at-i|fX hif-l|
|00002770| 6f 6f 6b 69 6e 67 2d 61 | 74 2d 65 6c 73 65 20 65 |ooking-a|t-else e|
|00002780| 72 72 6f 72 20 22 4e 6f | 20 66 6f 6c 6c 6f 77 69 |rror "No| followi|
|00002790| 6e 67 20 23 69 66 64 65 | 66 22 5d 20 32 20 22 5c |ng #ifde|f"] 2 "\|
|000027a0| 0a 4d 6f 76 65 20 70 6f | 69 6e 74 20 74 6f 20 62 |.Move po|int to b|
|000027b0| 65 67 69 6e 6e 69 6e 67 | 20 6f 66 20 6e 65 73 74 |eginning| of nest|
|000027c0| 65 64 20 69 66 64 65 66 | 20 6f 72 20 65 6c 73 65 |ed ifdef| or else|
|000027d0| 2d 70 61 72 74 2e 22 20 | 6e 69 6c 5d 29 0a 28 64 |-part." |nil]).(d|
|000027e0| 65 66 61 6c 69 61 73 20 | 27 75 70 2d 69 66 64 65 |efalias |'up-ifde|
|000027f0| 66 20 23 5b 6e 69 6c 20 | 22 c0 79 88 60 19 c2 20 |f #[nil |".y.`.. |
|00002800| 84 0d 00 c3 20 88 c2 20 | 83 15 00 c4 20 88 09 60 |.... .. |.... ..`|
|00002810| 55 85 1e 00 c5 c6 21 29 | 87 22 20 5b 30 20 73 74 |U.....!)|." [0 st|
|00002820| 61 72 74 20 68 69 66 2d | 6c 6f 6f 6b 69 6e 67 2d |art hif-|looking-|
|00002830| 61 74 2d 65 6e 64 69 66 | 20 68 69 66 2d 66 69 6e |at-endif| hif-fin|
|00002840| 64 2d 70 72 65 76 69 6f | 75 73 2d 72 65 6c 65 76 |d-previo|us-relev|
|00002850| 61 6e 74 20 68 69 66 2d | 65 6e 64 69 66 2d 74 6f |ant hif-|endif-to|
|00002860| 2d 69 66 64 65 66 20 65 | 72 72 6f 72 20 22 4e 6f |-ifdef e|rror "No|
|00002870| 20 70 72 65 76 69 6f 75 | 73 20 23 69 66 64 65 66 | previou|s #ifdef|
|00002880| 22 5d 20 32 20 22 5c 0a | 4d 6f 76 65 20 70 6f 69 |"] 2 "\.|Move poi|
|00002890| 6e 74 20 74 6f 20 62 65 | 67 69 6e 6e 69 6e 67 20 |nt to be|ginning |
|000028a0| 6f 66 20 65 6e 63 6c 6f | 73 69 6e 67 20 69 66 64 |of enclo|sing ifd|
|000028b0| 65 66 20 6f 72 20 65 6c | 73 65 2d 70 61 72 74 2e |ef or el|se-part.|
|000028c0| 22 20 6e 69 6c 5d 29 0a | 28 64 65 66 61 6c 69 61 |" nil]).|(defalia|
|000028d0| 73 20 27 6e 65 78 74 2d | 69 66 64 65 66 20 23 5b |s 'next-|ifdef #[|
|000028e0| 28 26 6f 70 74 69 6f 6e | 61 6c 20 61 72 67 29 20 |(&option|al arg) |
|000028f0| 22 08 84 06 00 c1 10 08 | c2 57 83 11 00 c3 08 5b |".......|.W.....[|
|00002900| 21 88 c2 08 57 85 2b 00 | 08 53 10 c4 20 88 6c 83 |!...W.+.|.S.. .l.|
|00002910| 11 00 c2 79 88 c5 c6 21 | 88 82 11 00 87 22 20 5b |...y...!|....." [|
|00002920| 61 72 67 20 31 20 30 20 | 70 72 65 76 69 6f 75 73 |arg 1 0 |previous|
|00002930| 2d 69 66 64 65 66 20 68 | 69 66 2d 66 69 6e 64 2d |-ifdef h|if-find-|
|00002940| 6e 65 78 74 2d 72 65 6c | 65 76 61 6e 74 20 65 72 |next-rel|evant er|
|00002950| 72 6f 72 20 22 4e 6f 20 | 66 6f 6c 6c 6f 77 69 6e |ror "No |followin|
|00002960| 67 20 23 69 66 64 65 66 | 73 2c 20 23 65 6c 73 65 |g #ifdef|s, #else|
|00002970| 73 2c 20 6f 72 20 23 65 | 6e 64 69 66 73 22 5d 20 |s, or #e|ndifs"] |
|00002980| 32 20 22 5c 0a 4d 6f 76 | 65 20 74 6f 20 74 68 65 |2 "\.Mov|e to the|
|00002990| 20 62 65 67 69 6e 6e 69 | 6e 67 20 6f 66 20 74 68 | beginni|ng of th|
|000029a0| 65 20 6e 65 78 74 20 23 | 69 66 58 2c 20 23 65 6c |e next #|ifX, #el|
|000029b0| 73 65 2c 20 6f 72 20 23 | 65 6e 64 69 66 2e 0a 57 |se, or #|endif..W|
|000029c0| 69 74 68 20 61 72 67 75 | 6d 65 6e 74 2c 20 64 6f |ith argu|ment, do|
|000029d0| 20 74 68 69 73 20 74 68 | 61 74 20 6d 61 6e 79 20 | this th|at many |
|000029e0| 74 69 6d 65 73 2e 22 20 | 22 70 22 5d 29 0a 28 64 |times." |"p"]).(d|
|000029f0| 65 66 61 6c 69 61 73 20 | 27 70 72 65 76 69 6f 75 |efalias |'previou|
|00002a00| 73 2d 69 66 64 65 66 20 | 23 5b 28 26 6f 70 74 69 |s-ifdef |#[(&opti|
|00002a10| 6f 6e 61 6c 20 61 72 67 | 29 20 22 08 84 06 00 c1 |onal arg|) ".....|
|00002a20| 10 08 c2 57 83 11 00 c3 | 08 5b 21 88 c2 08 57 85 |...W....|.[!...W.|
|00002a30| 2d 00 08 53 10 60 1c c5 | 20 88 5c 66 60 55 83 29 |-..S.`..| .\f`U.)|
|00002a40| 00 c6 c7 21 88 29 82 11 | 00 87 22 20 5b 61 72 67 |...!.)..|.." [arg|
|00002a50| 20 31 20 30 20 6e 65 78 | 74 2d 69 66 64 65 66 20 | 1 0 nex|t-ifdef |
|00002a60| 73 74 61 72 74 20 68 69 | 66 2d 66 69 6e 64 2d 70 |start hi|f-find-p|
|00002a70| 72 65 76 69 6f 75 73 2d | 72 65 6c 65 76 61 6e 74 |revious-|relevant|
|00002a80| 20 65 72 72 6f 72 20 22 | 4e 6f 20 70 72 65 76 69 | error "|No previ|
|00002a90| 6f 75 73 20 23 69 66 64 | 65 66 73 2c 20 23 65 6c |ous #ifd|efs, #el|
|00002aa0| 73 65 73 2c 20 6f 72 20 | 23 65 6e 64 69 66 73 22 |ses, or |#endifs"|
|00002ab0| 5d 20 32 20 22 5c 0a 4d | 6f 76 65 20 74 6f 20 74 |] 2 "\.M|ove to t|
|00002ac0| 68 65 20 62 65 67 69 6e | 6e 69 6e 67 20 6f 66 20 |he begin|ning of |
|00002ad0| 74 68 65 20 70 72 65 76 | 69 6f 75 73 20 23 69 66 |the prev|ious #if|
|00002ae0| 58 2c 20 23 65 6c 73 65 | 2c 20 6f 72 20 23 65 6e |X, #else|, or #en|
|00002af0| 64 69 66 2e 0a 57 69 74 | 68 20 61 72 67 75 6d 65 |dif..Wit|h argume|
|00002b00| 6e 74 2c 20 64 6f 20 74 | 68 69 73 20 74 68 61 74 |nt, do t|his that|
|00002b10| 20 6d 61 6e 79 20 74 69 | 6d 65 73 2e 22 20 22 70 | many ti|mes." "p|
|00002b20| 22 5d 29 0a 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |"]).(byt|e-code "|
|00002b30| c0 c1 c2 5c 22 88 c0 c3 | c4 5c 22 88 c0 c5 c6 5c |...\"...|.\"....\|
|00002b40| 22 88 c0 c7 c8 5c 22 88 | c0 c9 ca 5c 22 87 22 20 |"....\".|...\"." |
|00002b50| 5b 64 65 66 61 6c 69 61 | 73 20 68 69 66 2d 6d 61 |[defalia|s hif-ma|
|00002b60| 6b 65 2d 72 61 6e 67 65 | 20 23 5b 28 65 6c 73 65 |ke-range| #[(else|
|00002b70| 2d 70 20 73 74 61 72 74 | 20 65 6e 64 20 26 6f 70 |-p start| end &op|
|00002b80| 74 69 6f 6e 61 6c 20 65 | 6c 73 65 29 20 22 08 09 |tional e|lse) "..|
|00002b90| 5c 6e 0b 46 87 22 20 5b | 65 6c 73 65 2d 70 20 73 |\n.F." [|else-p s|
|00002ba0| 74 61 72 74 20 65 6c 73 | 65 20 65 6e 64 5d 20 34 |tart els|e end] 4|
|00002bb0| 5d 20 68 69 66 2d 72 61 | 6e 67 65 2d 65 6c 73 65 |] hif-ra|nge-else|
|00002bc0| 2d 70 20 23 5b 28 72 61 | 6e 67 65 29 20 22 08 c1 |-p #[(ra|nge) "..|
|00002bd0| 9c 87 22 20 5b 72 61 6e | 67 65 20 30 5d 20 32 5d |.." [ran|ge 0] 2]|
|00002be0| 20 68 69 66 2d 72 61 6e | 67 65 2d 73 74 61 72 74 | hif-ran|ge-start|
|00002bf0| 20 23 5b 28 72 61 6e 67 | 65 29 20 22 08 c1 9c 87 | #[(rang|e) "....|
|00002c00| 22 20 5b 72 61 6e 67 65 | 20 31 5d 20 32 5d 20 68 |" [range| 1] 2] h|
|00002c10| 69 66 2d 72 61 6e 67 65 | 2d 65 6c 73 65 20 23 5b |if-range|-else #[|
|00002c20| 28 72 61 6e 67 65 29 20 | 22 08 c1 9c 87 22 20 5b |(range) |"...." [|
|00002c30| 72 61 6e 67 65 20 32 5d | 20 32 5d 20 68 69 66 2d |range 2]| 2] hif-|
|00002c40| 72 61 6e 67 65 2d 65 6e | 64 20 23 5b 28 72 61 6e |range-en|d #[(ran|
|00002c50| 67 65 29 20 22 08 c1 9c | 87 22 20 5b 72 61 6e 67 |ge) "...|." [rang|
|00002c60| 65 20 33 5d 20 32 5d 5d | 20 33 29 0a 28 64 65 66 |e 3] 2]]| 3).(def|
|00002c70| 61 6c 69 61 73 20 27 68 | 69 66 2d 66 69 6e 64 2d |alias 'h|if-find-|
|00002c80| 72 61 6e 67 65 20 23 5b | 6e 69 6c 20 22 8a c0 79 |range #[|nil "..y|
|00002c90| 88 60 c1 89 89 1a 1b 1c | 1d c6 20 88 c7 20 83 1d |.`......|.. .. ..|
|00002ca0| 00 c8 20 88 c6 20 88 82 | 0f 00 c9 20 83 29 00 ca |.. .. ..|... .)..|
|00002cb0| 14 60 13 82 2b 00 60 12 | 5c 66 83 4b 00 c6 20 88 |.`..+.`.|\f.K.. .|
|00002cc0| c7 20 83 40 00 c8 20 88 | c6 20 88 82 32 00 c9 20 |. .@.. .|. ..2.. |
|00002cd0| 83 49 00 cb cc 21 88 60 | 12 cd 5c 66 0d 5c 6e 0b |.I...!.`|..\f.\n.|
|00002ce0| 24 2d 87 22 20 5b 30 20 | 6e 69 6c 20 65 6e 64 20 |$-." [0 |nil end |
|00002cf0| 65 6c 73 65 20 65 6c 73 | 65 2d 70 20 73 74 61 72 |else els|e-p star|
|00002d00| 74 20 68 69 66 2d 66 69 | 6e 64 2d 6e 65 78 74 2d |t hif-fi|nd-next-|
|00002d10| 72 65 6c 65 76 61 6e 74 | 20 68 69 66 2d 6c 6f 6f |relevant| hif-loo|
|00002d20| 6b 69 6e 67 2d 61 74 2d | 69 66 58 20 68 69 66 2d |king-at-|ifX hif-|
|00002d30| 69 66 64 65 66 2d 74 6f | 2d 65 6e 64 69 66 20 68 |ifdef-to|-endif h|
|00002d40| 69 66 2d 6c 6f 6f 6b 69 | 6e 67 2d 61 74 2d 65 6c |if-looki|ng-at-el|
|00002d50| 73 65 20 74 20 65 72 72 | 6f 72 20 22 46 6f 75 6e |se t err|or "Foun|
|00002d60| 64 20 74 77 6f 20 65 6c | 73 65 73 20 69 6e 20 61 |d two el|ses in a|
|00002d70| 20 72 6f 77 3f 20 20 42 | 72 6f 6b 65 6e 21 22 20 | row? B|roken!" |
|00002d80| 68 69 66 2d 6d 61 6b 65 | 2d 72 61 6e 67 65 5d 20 |hif-make|-range] |
|00002d90| 35 20 22 5c 0a 52 65 74 | 75 72 6e 73 20 61 20 52 |5 "\.Ret|urns a R|
|00002da0| 61 6e 67 65 20 73 74 72 | 75 63 74 75 72 65 20 64 |ange str|ucture d|
|00002db0| 65 73 63 72 69 62 69 6e | 67 20 74 68 65 20 63 75 |escribin|g the cu|
|00002dc0| 72 72 65 6e 74 20 23 69 | 66 20 72 65 67 69 6f 6e |rrent #i|f region|
|00002dd0| 2e 0a 50 6f 69 6e 74 20 | 69 73 20 6c 65 66 74 20 |..Point |is left |
|00002de0| 75 6e 63 68 61 6e 67 65 | 64 2e 22 5d 29 0a 28 64 |unchange|d."]).(d|
|00002df0| 65 66 61 6c 69 61 73 20 | 27 68 69 66 2d 68 69 64 |efalias |'hif-hid|
|00002e00| 65 2d 6c 69 6e 65 20 23 | 5b 28 70 6f 69 6e 74 29 |e-line #|[(point)|
|00002e10| 20 22 08 85 1d 00 8a 09 | 62 88 c2 20 1b c4 8e c5 | "......|b.. ....|
|00002e20| 79 88 60 c6 55 3f 85 1c | 00 c7 60 53 60 5c 22 2b |y.`.U?..|..`S`\"+|
|00002e30| 87 22 20 5b 68 69 64 65 | 2d 69 66 64 65 66 2d 6c |." [hide|-ifdef-l|
|00002e40| 69 6e 65 73 20 70 6f 69 | 6e 74 20 62 75 66 66 65 |ines poi|nt buffe|
|00002e50| 72 2d 6d 6f 64 69 66 69 | 65 64 2d 70 20 6d 6f 64 |r-modifi|ed-p mod|
|00002e60| 70 20 28 28 73 65 74 2d | 62 75 66 66 65 72 2d 6d |p ((set-|buffer-m|
|00002e70| 6f 64 69 66 69 65 64 2d | 70 20 6d 6f 64 70 29 29 |odified-|p modp))|
|00002e80| 20 30 20 31 20 68 69 64 | 65 2d 69 66 64 65 66 2d | 0 1 hid|e-ifdef-|
|00002e90| 72 65 67 69 6f 6e 5d 20 | 33 20 22 5c 0a 48 69 64 |region] |3 "\.Hid|
|00002ea0| 65 20 74 68 65 20 6c 69 | 6e 65 20 63 6f 6e 74 61 |e the li|ne conta|
|00002eb0| 69 6e 69 6e 67 20 70 6f | 69 6e 74 2e 20 20 44 6f |ining po|int. Do|
|00002ec0| 65 73 20 6e 6f 74 68 69 | 6e 67 20 69 66 20 60 68 |es nothi|ng if `h|
|00002ed0| 69 64 65 2d 69 66 64 65 | 66 2d 6c 69 6e 65 73 27 |ide-ifde|f-lines'|
|00002ee0| 20 69 73 20 6e 69 6c 2e | 22 5d 29 0a 28 64 65 66 | is nil.|"]).(def|
|00002ef0| 61 6c 69 61 73 20 27 68 | 69 66 2d 72 65 63 75 72 |alias 'h|if-recur|
|00002f00| 73 65 2d 6f 6e 20 23 5b | 28 73 74 61 72 74 20 65 |se-on #[|(start e|
|00002f10| 6e 64 29 20 22 8a 8c 08 | 62 88 c1 7f 88 60 5c 6e |nd) "...|b....`\n|
|00002f20| 7d 88 c3 20 2a 87 22 20 | 5b 73 74 61 72 74 20 6e |}.. *." |[start n|
|00002f30| 69 6c 20 65 6e 64 20 68 | 69 64 65 2d 69 66 64 65 |il end h|ide-ifde|
|00002f40| 66 2d 67 75 74 73 5d 20 | 32 20 22 5c 0a 43 61 6c |f-guts] |2 "\.Cal|
|00002f50| 6c 20 60 68 69 64 65 2d | 69 66 64 65 66 2d 67 75 |l `hide-|ifdef-gu|
|00002f60| 74 73 27 20 61 66 74 65 | 72 20 6e 61 72 72 6f 77 |ts' afte|r narrow|
|00002f70| 69 6e 67 20 74 6f 20 65 | 6e 64 20 6f 66 20 53 54 |ing to e|nd of ST|
|00002f80| 41 52 54 20 6c 69 6e 65 | 20 61 6e 64 20 45 4e 44 |ART line| and END|
|00002f90| 20 6c 69 6e 65 2e 22 5d | 29 0a 28 64 65 66 61 6c | line."]|).(defal|
|00002fa0| 69 61 73 20 27 68 69 66 | 2d 70 6f 73 73 69 62 6c |ias 'hif|-possibl|
|00002fb0| 79 2d 68 69 64 65 20 23 | 5b 6e 69 6c 20 22 c0 20 |y-hide #|[nil ". |
|00002fc0| c1 20 1a 1b c4 c5 5c 6e | 21 21 88 0e 06 0b 21 83 |. ....\n|!!....!.|
|00002fd0| 41 00 c7 5c 6e 21 83 35 | 00 c4 c8 5c 6e 21 21 88 |A..\n!.5|...\n!!.|
|00002fe0| c9 c8 5c 6e 21 c5 5c 6e | 21 53 5c 22 88 ca cb 5c |..\n!.\n|!S\"...\|
|00002ff0| 6e 21 c8 5c 6e 21 5c 22 | 88 82 6b 00 ca cb 5c 6e |n!.\n!\"|..k...\n|
|00003000| 21 c5 5c 6e 21 5c 22 88 | 82 6b 00 c7 5c 6e 21 83 |!.\n!\".|.k..\n!.|
|00003010| 63 00 c4 c8 5c 6e 21 21 | 88 c9 cb 5c 6e 21 c8 5c |c...\n!!|...\n!.\|
|00003020| 6e 21 53 5c 22 88 ca c8 | 5c 6e 21 c5 5c 6e 21 5c |n!S\"...|\n!.\n!\|
|00003030| 22 88 82 6b 00 c9 60 c5 | 5c 6e 21 53 5c 22 88 c4 |"..k..`.|\n!S\"..|
|00003040| cb 5c 6e 21 21 88 c5 5c | 6e 21 62 88 cc 7f 2a 87 |.\n!!..\|n!b...*.|
|00003050| 22 20 5b 68 69 66 2d 63 | 61 6e 6f 6e 69 63 61 6c |" [hif-c|anonical|
|00003060| 69 7a 65 20 68 69 66 2d | 66 69 6e 64 2d 72 61 6e |ize hif-|find-ran|
|00003070| 67 65 20 72 61 6e 67 65 | 20 74 65 73 74 20 68 69 |ge range| test hi|
|00003080| 66 2d 68 69 64 65 2d 6c | 69 6e 65 20 68 69 66 2d |f-hide-l|ine hif-|
|00003090| 72 61 6e 67 65 2d 65 6e | 64 20 68 69 64 65 2d 69 |range-en|d hide-i|
|000030a0| 66 64 65 66 2d 65 76 61 | 6c 75 61 74 6f 72 20 68 |fdef-eva|luator h|
|000030b0| 69 66 2d 72 61 6e 67 65 | 2d 65 6c 73 65 2d 70 20 |if-range|-else-p |
|000030c0| 68 69 66 2d 72 61 6e 67 | 65 2d 65 6c 73 65 20 68 |hif-rang|e-else h|
|000030d0| 69 64 65 2d 69 66 64 65 | 66 2d 72 65 67 69 6f 6e |ide-ifde|f-region|
|000030e0| 20 68 69 66 2d 72 65 63 | 75 72 73 65 2d 6f 6e 20 | hif-rec|urse-on |
|000030f0| 68 69 66 2d 72 61 6e 67 | 65 2d 73 74 61 72 74 20 |hif-rang|e-start |
|00003100| 6e 69 6c 5d 20 34 20 22 | 5c 0a 43 61 6c 6c 65 64 |nil] 4 "|\.Called|
|00003110| 20 61 74 20 23 69 66 58 | 20 65 78 70 72 65 73 73 | at #ifX| express|
|00003120| 69 6f 6e 2c 20 74 68 69 | 73 20 68 69 64 65 73 20 |ion, thi|s hides |
|00003130| 74 68 6f 73 65 20 70 61 | 72 74 73 20 74 68 61 74 |those pa|rts that|
|00003140| 20 73 68 6f 75 6c 64 20 | 62 65 0a 68 69 64 64 65 | should |be.hidde|
|00003150| 6e 2c 20 61 63 63 6f 72 | 64 69 6e 67 20 74 6f 20 |n, accor|ding to |
|00003160| 6a 75 64 67 65 6d 65 6e | 74 20 6f 66 20 60 68 69 |judgemen|t of `hi|
|00003170| 64 65 2d 69 66 64 65 66 | 2d 65 76 61 6c 75 61 74 |de-ifdef|-evaluat|
|00003180| 6f 72 27 2e 22 5d 29 0a | 28 64 65 66 61 6c 69 61 |or'."]).|(defalia|
|00003190| 73 20 27 68 69 64 65 2d | 69 66 64 65 66 2d 67 75 |s 'hide-|ifdef-gu|
|000031a0| 74 73 20 23 5b 6e 69 6c | 20 22 8a 65 62 88 c0 20 |ts #[nil| ".eb.. |
|000031b0| 85 0f 00 c1 20 88 82 04 | 00 29 87 22 20 5b 68 69 |.... ...|.)." [hi|
|000031c0| 66 2d 66 69 6e 64 2d 61 | 6e 79 2d 69 66 58 20 68 |f-find-a|ny-ifX h|
|000031d0| 69 66 2d 70 6f 73 73 69 | 62 6c 79 2d 68 69 64 65 |if-possi|bly-hide|
|000031e0| 5d 20 31 20 22 5c 0a 44 | 6f 65 73 20 74 68 65 20 |] 1 "\.D|oes the |
|000031f0| 77 6f 72 6b 20 6f 66 20 | 60 68 69 64 65 2d 69 66 |work of |`hide-if|
|00003200| 64 65 66 73 27 2c 20 65 | 78 63 65 70 74 20 66 6f |defs', e|xcept fo|
|00003210| 72 20 74 68 65 20 77 6f | 72 6b 20 74 68 61 74 27 |r the wo|rk that'|
|00003220| 73 20 70 6f 69 6e 74 6c | 65 73 73 0a 74 6f 20 72 |s pointl|ess.to r|
|00003230| 65 64 6f 20 6f 6e 20 61 | 20 72 65 63 75 72 73 69 |edo on a| recursi|
|00003240| 76 65 20 65 6e 74 72 79 | 2e 22 5d 29 0a 28 64 65 |ve entry|."]).(de|
|00003250| 66 76 61 72 20 68 69 64 | 65 2d 69 66 64 65 66 2d |fvar hid|e-ifdef-|
|00003260| 69 6e 69 74 69 61 6c 6c | 79 20 6e 69 6c 20 22 5c |initiall|y nil "\|
|00003270| 0a 2a 4e 6f 6e 2d 6e 69 | 6c 20 69 66 20 60 68 69 |.*Non-ni|l if `hi|
|00003280| 64 65 2d 69 66 64 65 66 | 73 27 20 73 68 6f 75 6c |de-ifdef|s' shoul|
|00003290| 64 20 62 65 20 63 61 6c | 6c 65 64 20 77 68 65 6e |d be cal|led when|
|000032a0| 20 48 69 64 65 2d 49 66 | 64 65 66 20 6d 6f 64 65 | Hide-If|def mode|
|000032b0| 0a 69 73 20 66 69 72 73 | 74 20 61 63 74 69 76 61 |.is firs|t activa|
|000032c0| 74 65 64 2e 22 29 0a 28 | 64 65 66 76 61 72 20 68 |ted.").(|defvar h|
|000032d0| 69 64 65 2d 69 66 64 65 | 66 2d 68 69 64 69 6e 67 |ide-ifde|f-hiding|
|000032e0| 20 6e 69 6c 20 22 5c 0a | 4e 6f 6e 2d 6e 69 6c 20 | nil "\.|Non-nil |
|000032f0| 69 66 20 74 65 78 74 20 | 6d 69 67 68 74 20 62 65 |if text |might be|
|00003300| 20 68 69 64 64 65 6e 2e | 22 29 0a 28 64 65 66 76 | hidden.|").(defv|
|00003310| 61 72 20 68 69 64 65 2d | 69 66 64 65 66 2d 72 65 |ar hide-|ifdef-re|
|00003320| 61 64 2d 6f 6e 6c 79 20 | 6e 69 6c 20 22 5c 0a 2a |ad-only |nil "\.*|
|00003330| 53 65 74 20 74 6f 20 6e | 6f 6e 2d 6e 69 6c 20 69 |Set to n|on-nil i|
|00003340| 66 20 79 6f 75 20 77 61 | 6e 74 20 62 75 66 66 65 |f you wa|nt buffe|
|00003350| 72 20 74 6f 20 62 65 20 | 72 65 61 64 2d 6f 6e 6c |r to be |read-onl|
|00003360| 79 20 77 68 69 6c 65 20 | 68 69 64 69 6e 67 20 74 |y while |hiding t|
|00003370| 65 78 74 2e 22 29 0a 28 | 64 65 66 76 61 72 20 68 |ext.").(|defvar h|
|00003380| 69 66 2d 6f 75 74 73 69 | 64 65 2d 72 65 61 64 2d |if-outsi|de-read-|
|00003390| 6f 6e 6c 79 20 6e 69 6c | 20 22 5c 0a 49 6e 74 65 |only nil| "\.Inte|
|000033a0| 72 6e 61 6c 20 76 61 72 | 69 61 62 6c 65 2e 20 20 |rnal var|iable. |
|000033b0| 53 61 76 65 73 20 74 68 | 65 20 76 61 6c 75 65 20 |Saves th|e value |
|000033c0| 6f 66 20 60 62 75 66 66 | 65 72 2d 72 65 61 64 2d |of `buff|er-read-|
|000033d0| 6f 6e 6c 79 27 20 77 68 | 69 6c 65 20 68 69 64 69 |only' wh|ile hidi|
|000033e0| 6e 67 2e 22 29 0a 28 64 | 65 66 76 61 72 20 68 69 |ng.").(d|efvar hi|
|000033f0| 64 65 2d 69 66 64 65 66 | 2d 6c 69 6e 65 73 20 6e |de-ifdef|-lines n|
|00003400| 69 6c 20 22 5c 0a 2a 53 | 65 74 20 74 6f 20 74 20 |il "\.*S|et to t |
|00003410| 69 66 20 79 6f 75 20 64 | 6f 6e 27 74 20 77 61 6e |if you d|on't wan|
|00003420| 74 20 74 6f 20 73 65 65 | 20 74 68 65 20 23 69 66 |t to see| the #if|
|00003430| 58 2c 20 23 65 6c 73 65 | 2c 20 61 6e 64 20 23 65 |X, #else|, and #e|
|00003440| 6e 64 69 66 20 6c 69 6e | 65 73 2e 22 29 0a 28 64 |ndif lin|es.").(d|
|00003450| 65 66 61 6c 69 61 73 20 | 27 68 69 64 65 2d 69 66 |efalias |'hide-if|
|00003460| 64 65 66 2d 74 6f 67 67 | 6c 65 2d 72 65 61 64 2d |def-togg|le-read-|
|00003470| 6f 6e 6c 79 20 23 5b 6e | 69 6c 20 22 08 3f 10 c1 |only #[n|il ".?..|
|00003480| c2 08 83 0d 00 c3 82 0e | 00 c4 5c 22 88 0d 83 1c |........|..\"....|
|00003490| 00 08 86 1a 00 0e 06 16 | 07 c8 20 87 22 20 5b 68 |........|.. ." [h|
|000034a0| 69 64 65 2d 69 66 64 65 | 66 2d 72 65 61 64 2d 6f |ide-ifde|f-read-o|
|000034b0| 6e 6c 79 20 6d 65 73 73 | 61 67 65 20 22 48 69 64 |nly mess|age "Hid|
|000034c0| 65 2d 52 65 61 64 2d 4f | 6e 6c 79 20 25 73 22 20 |e-Read-O|nly %s" |
|000034d0| 22 4f 4e 22 20 22 4f 46 | 46 22 20 68 69 64 65 2d |"ON" "OF|F" hide-|
|000034e0| 69 66 64 65 66 2d 68 69 | 64 69 6e 67 20 68 69 66 |ifdef-hi|ding hif|
|000034f0| 2d 6f 75 74 73 69 64 65 | 2d 72 65 61 64 2d 6f 6e |-outside|-read-on|
|00003500| 6c 79 20 62 75 66 66 65 | 72 2d 72 65 61 64 2d 6f |ly buffe|r-read-o|
|00003510| 6e 6c 79 20 68 69 66 2d | 75 70 64 61 74 65 2d 6d |nly hif-|update-m|
|00003520| 6f 64 65 2d 6c 69 6e 65 | 5d 20 33 20 22 5c 0a 54 |ode-line|] 3 "\.T|
|00003530| 6f 67 67 6c 65 20 68 69 | 64 65 2d 69 66 64 65 66 |oggle hi|de-ifdef|
|00003540| 2d 72 65 61 64 2d 6f 6e | 6c 79 2e 22 20 6e 69 6c |-read-on|ly." nil|
|00003550| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 68 69 |]).(defa|lias 'hi|
|00003560| 64 65 2d 69 66 64 65 66 | 2d 74 6f 67 67 6c 65 2d |de-ifdef|-toggle-|
|00003570| 6f 75 74 73 69 64 65 2d | 72 65 61 64 2d 6f 6e 6c |outside-|read-onl|
|00003580| 79 20 23 5b 6e 69 6c 20 | 22 08 3f 10 c1 c2 08 83 |y #[nil |".?.....|
|00003590| 0d 00 c3 82 0e 00 c4 5c | 22 88 0d 83 19 00 0e 06 |.......\|".......|
|000035a0| 86 1a 00 08 16 07 c8 20 | 87 22 20 5b 68 69 66 2d |....... |." [hif-|
|000035b0| 6f 75 74 73 69 64 65 2d | 72 65 61 64 2d 6f 6e 6c |outside-|read-onl|
|000035c0| 79 20 6d 65 73 73 61 67 | 65 20 22 52 65 61 64 20 |y messag|e "Read |
|000035d0| 6f 6e 6c 79 20 25 73 22 | 20 22 4f 4e 22 20 22 4f |only %s"| "ON" "O|
|000035e0| 46 46 22 20 68 69 64 65 | 2d 69 66 64 65 66 2d 68 |FF" hide|-ifdef-h|
|000035f0| 69 64 69 6e 67 20 68 69 | 64 65 2d 69 66 64 65 66 |iding hi|de-ifdef|
|00003600| 2d 72 65 61 64 2d 6f 6e | 6c 79 20 62 75 66 66 65 |-read-on|ly buffe|
|00003610| 72 2d 72 65 61 64 2d 6f | 6e 6c 79 20 68 69 66 2d |r-read-o|nly hif-|
|00003620| 75 70 64 61 74 65 2d 6d | 6f 64 65 2d 6c 69 6e 65 |update-m|ode-line|
|00003630| 5d 20 33 20 22 5c 0a 52 | 65 70 6c 61 63 65 6d 65 |] 3 "\.R|eplaceme|
|00003640| 6e 74 20 66 6f 72 20 60 | 74 6f 67 67 6c 65 2d 72 |nt for `|toggle-r|
|00003650| 65 61 64 2d 6f 6e 6c 79 | 27 20 77 69 74 68 69 6e |ead-only|' within|
|00003660| 20 48 69 64 65 20 49 66 | 64 65 66 20 6d 6f 64 65 | Hide If|def mode|
|00003670| 2e 22 20 6e 69 6c 5d 29 | 0a 28 64 65 66 61 6c 69 |." nil])|.(defali|
|00003680| 61 73 20 27 68 69 64 65 | 2d 69 66 64 65 66 2d 64 |as 'hide|-ifdef-d|
|00003690| 65 66 69 6e 65 20 23 5b | 28 76 61 72 29 20 22 c0 |efine #[|(var) ".|
|000036a0| 09 c2 5c 22 88 0b 85 0b | 00 c4 20 87 22 20 5b 68 |..\"....|.. ." [h|
|000036b0| 69 66 2d 73 65 74 2d 76 | 61 72 20 76 61 72 20 74 |if-set-v|ar var t|
|000036c0| 20 68 69 64 65 2d 69 66 | 64 65 66 2d 68 69 64 69 | hide-if|def-hidi|
|000036d0| 6e 67 20 68 69 64 65 2d | 69 66 64 65 66 73 5d 20 |ng hide-|ifdefs] |
|000036e0| 33 20 22 5c 0a 44 65 66 | 69 6e 65 20 61 20 56 41 |3 "\.Def|ine a VA|
|000036f0| 52 20 73 6f 20 74 68 61 | 74 20 23 69 66 64 65 66 |R so tha|t #ifdef|
|00003700| 20 56 41 52 20 77 6f 75 | 6c 64 20 62 65 20 69 6e | VAR wou|ld be in|
|00003710| 63 6c 75 64 65 64 2e 22 | 20 22 53 44 65 66 69 6e |cluded."| "SDefin|
|00003720| 65 20 77 68 61 74 3f 20 | 22 5d 29 0a 28 64 65 66 |e what? |"]).(def|
|00003730| 61 6c 69 61 73 20 27 68 | 69 64 65 2d 69 66 64 65 |alias 'h|ide-ifde|
|00003740| 66 2d 75 6e 64 65 66 20 | 23 5b 28 76 61 72 29 20 |f-undef |#[(var) |
|00003750| 22 c0 09 c2 5c 22 88 0b | 85 0b 00 c4 20 87 22 20 |"...\"..|.... ." |
|00003760| 5b 68 69 66 2d 73 65 74 | 2d 76 61 72 20 76 61 72 |[hif-set|-var var|
|00003770| 20 6e 69 6c 20 68 69 64 | 65 2d 69 66 64 65 66 2d | nil hid|e-ifdef-|
|00003780| 68 69 64 69 6e 67 20 68 | 69 64 65 2d 69 66 64 65 |hiding h|ide-ifde|
|00003790| 66 73 5d 20 33 20 22 5c | 0a 55 6e 64 65 66 69 6e |fs] 3 "\|.Undefin|
|000037a0| 65 20 61 20 56 41 52 20 | 73 6f 20 74 68 61 74 20 |e a VAR |so that |
|000037b0| 23 69 66 64 65 66 20 56 | 41 52 20 77 6f 75 6c 64 |#ifdef V|AR would|
|000037c0| 20 6e 6f 74 20 62 65 20 | 69 6e 63 6c 75 64 65 64 | not be |included|
|000037d0| 2e 22 20 22 53 55 6e 64 | 65 66 69 6e 65 20 77 68 |." "SUnd|efine wh|
|000037e0| 61 74 3f 20 22 5d 29 0a | 28 64 65 66 61 6c 69 61 |at? "]).|(defalia|
|000037f0| 73 20 27 68 69 64 65 2d | 69 66 64 65 66 73 20 23 |s 'hide-|ifdefs #|
|00003800| 5b 6e 69 6c 20 22 c0 c1 | 21 88 5c 6e 84 5c 66 00 |[nil "..|!.\n.\f.|
|00003810| c2 c3 21 88 5c 66 83 13 | 00 c5 20 88 c6 1e 07 c6 |..!.\f..|.. .....|
|00003820| 16 08 c6 14 c9 20 88 29 | 0e 5c 6e 86 26 00 0e 0b |..... .)|.\n.&...|
|00003830| 16 5c 66 c0 cd 21 87 22 | 20 5b 6d 65 73 73 61 67 |.\f..!."| [messag|
|00003840| 65 20 22 48 69 64 69 6e | 67 2e 2e 2e 22 20 68 69 |e "Hidin|g..." hi|
|00003850| 64 65 2d 69 66 64 65 66 | 2d 6d 6f 64 65 20 31 20 |de-ifdef|-mode 1 |
|00003860| 68 69 64 65 2d 69 66 64 | 65 66 2d 68 69 64 69 6e |hide-ifd|ef-hidin|
|00003870| 67 20 73 68 6f 77 2d 69 | 66 64 65 66 73 20 74 20 |g show-i|fdefs t |
|00003880| 69 6e 68 69 62 69 74 2d | 72 65 61 64 2d 6f 6e 6c |inhibit-|read-onl|
|00003890| 79 20 73 65 6c 65 63 74 | 69 76 65 2d 64 69 73 70 |y select|ive-disp|
|000038a0| 6c 61 79 20 68 69 64 65 | 2d 69 66 64 65 66 2d 67 |lay hide|-ifdef-g|
|000038b0| 75 74 73 20 68 69 64 65 | 2d 69 66 64 65 66 2d 72 |uts hide|-ifdef-r|
|000038c0| 65 61 64 2d 6f 6e 6c 79 | 20 68 69 66 2d 6f 75 74 |ead-only| hif-out|
|000038d0| 73 69 64 65 2d 72 65 61 | 64 2d 6f 6e 6c 79 20 62 |side-rea|d-only b|
|000038e0| 75 66 66 65 72 2d 72 65 | 61 64 2d 6f 6e 6c 79 20 |uffer-re|ad-only |
|000038f0| 22 48 69 64 69 6e 67 20 | 64 6f 6e 65 22 5d 20 32 |"Hiding |done"] 2|
|00003900| 20 22 5c 0a 48 69 64 65 | 20 74 68 65 20 63 6f 6e | "\.Hide| the con|
|00003910| 74 65 6e 74 73 20 6f 66 | 20 73 6f 6d 65 20 23 69 |tents of| some #i|
|00003920| 66 64 65 66 73 2e 20 20 | 0a 41 73 73 75 6d 65 20 |fdefs. |.Assume |
|00003930| 74 68 61 74 20 64 65 66 | 69 6e 65 64 20 73 79 6d |that def|ined sym|
|00003940| 62 6f 6c 73 20 68 61 76 | 65 20 62 65 65 6e 20 61 |bols hav|e been a|
|00003950| 64 64 65 64 20 74 6f 20 | 60 68 69 64 65 2d 69 66 |dded to |`hide-if|
|00003960| 64 65 66 2d 65 6e 76 27 | 2e 20 20 0a 54 68 65 20 |def-env'|. .The |
|00003970| 74 65 78 74 20 68 69 64 | 64 65 6e 20 69 73 20 74 |text hid|den is t|
|00003980| 68 65 20 74 65 78 74 20 | 74 68 61 74 20 77 6f 75 |he text |that wou|
|00003990| 6c 64 20 6e 6f 74 20 62 | 65 20 69 6e 63 6c 75 64 |ld not b|e includ|
|000039a0| 65 64 20 62 79 20 74 68 | 65 20 43 0a 70 72 65 70 |ed by th|e C.prep|
|000039b0| 72 6f 63 65 73 73 6f 72 | 20 69 66 20 69 74 20 77 |rocessor| if it w|
|000039c0| 65 72 65 20 67 69 76 65 | 6e 20 74 68 65 20 66 69 |ere give|n the fi|
|000039d0| 6c 65 20 77 69 74 68 20 | 74 68 6f 73 65 20 73 79 |le with |those sy|
|000039e0| 6d 62 6f 6c 73 20 64 65 | 66 69 6e 65 64 2e 0a 0a |mbols de|fined...|
|000039f0| 54 75 72 6e 20 6f 66 66 | 20 68 69 64 69 6e 67 20 |Turn off| hiding |
|00003a00| 62 79 20 63 61 6c 6c 69 | 6e 67 20 60 73 68 6f 77 |by calli|ng `show|
|00003a10| 2d 69 66 64 65 66 73 27 | 2e 22 20 6e 69 6c 5d 29 |-ifdefs'|." nil])|
|00003a20| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 73 68 6f 77 |.(defali|as 'show|
|00003a30| 2d 69 66 64 65 66 73 20 | 23 5b 6e 69 6c 20 22 08 |-ifdefs |#[nil ".|
|00003a40| 11 c2 13 c4 1d c6 20 88 | 29 c2 89 16 07 87 22 20 |...... .|)....." |
|00003a50| 5b 68 69 66 2d 6f 75 74 | 73 69 64 65 2d 72 65 61 |[hif-out|side-rea|
|00003a60| 64 2d 6f 6e 6c 79 20 62 | 75 66 66 65 72 2d 72 65 |d-only b|uffer-re|
|00003a70| 61 64 2d 6f 6e 6c 79 20 | 6e 69 6c 20 73 65 6c 65 |ad-only |nil sele|
|00003a80| 63 74 69 76 65 2d 64 69 | 73 70 6c 61 79 20 74 20 |ctive-di|splay t |
|00003a90| 69 6e 68 69 62 69 74 2d | 72 65 61 64 2d 6f 6e 6c |inhibit-|read-onl|
|00003aa0| 79 20 68 69 66 2d 73 68 | 6f 77 2d 61 6c 6c 20 68 |y hif-sh|ow-all h|
|00003ab0| 69 64 65 2d 69 66 64 65 | 66 2d 68 69 64 69 6e 67 |ide-ifde|f-hiding|
|00003ac0| 5d 20 32 20 22 5c 0a 43 | 61 6e 63 65 6c 20 74 68 |] 2 "\.C|ancel th|
|00003ad0| 65 20 65 66 66 65 63 74 | 73 20 6f 66 20 60 68 69 |e effect|s of `hi|
|00003ae0| 64 65 2d 69 66 64 65 66 | 27 2e 20 20 54 68 65 20 |de-ifdef|'. The |
|00003af0| 63 6f 6e 74 65 6e 74 73 | 20 6f 66 20 61 6c 6c 20 |contents| of all |
|00003b00| 23 69 66 64 65 66 73 20 | 69 73 20 73 68 6f 77 6e |#ifdefs |is shown|
|00003b10| 2e 22 20 6e 69 6c 5d 29 | 0a 28 64 65 66 61 6c 69 |." nil])|.(defali|
|00003b20| 61 73 20 27 68 69 66 2d | 66 69 6e 64 2d 69 66 64 |as 'hif-|find-ifd|
|00003b30| 65 66 2d 62 6c 6f 63 6b | 20 23 5b 6e 69 6c 20 22 |ef-block| #[nil "|
|00003b40| c0 19 8a c2 79 88 c3 20 | 84 13 00 c4 20 84 13 00 |....y.. |.... ...|
|00003b50| c5 20 88 60 16 06 c7 20 | 88 60 53 11 29 8a c2 79 |. .`... |.`S.)..y|
|00003b60| 88 c8 20 84 29 00 c9 20 | 88 c4 20 83 37 00 c7 20 |.. .).. |.. .7.. |
|00003b70| 88 c9 20 88 82 29 00 09 | 60 53 5e 89 16 5c 6e 2a |.. ..)..|`S^..\n*|
|00003b80| 87 22 20 5b 6e 69 6c 20 | 6d 61 78 2d 62 6f 74 74 |." [nil |max-bott|
|00003b90| 6f 6d 20 30 20 68 69 66 | 2d 6c 6f 6f 6b 69 6e 67 |om 0 hif|-looking|
|00003ba0| 2d 61 74 2d 65 6c 73 65 | 20 68 69 66 2d 6c 6f 6f |-at-else| hif-loo|
|00003bb0| 6b 69 6e 67 2d 61 74 2d | 69 66 58 20 75 70 2d 69 |king-at-|ifX up-i|
|00003bc0| 66 64 65 66 20 74 6f 70 | 20 68 69 66 2d 69 66 64 |fdef top| hif-ifd|
|00003bd0| 65 66 2d 74 6f 2d 65 6e | 64 69 66 20 68 69 66 2d |ef-to-en|dif hif-|
|00003be0| 6c 6f 6f 6b 69 6e 67 2d | 61 74 2d 65 6e 64 69 66 |looking-|at-endif|
|00003bf0| 20 68 69 66 2d 66 69 6e | 64 2d 6e 65 78 74 2d 72 | hif-fin|d-next-r|
|00003c00| 65 6c 65 76 61 6e 74 20 | 62 6f 74 74 6f 6d 5d 20 |elevant |bottom] |
|00003c10| 32 20 22 5c 0a 55 74 69 | 6c 69 74 79 20 66 6f 72 |2 "\.Uti|lity for|
|00003c20| 20 68 69 64 65 20 61 6e | 64 20 73 68 6f 77 20 60 | hide an|d show `|
|00003c30| 69 66 64 65 66 2d 62 6c | 6f 63 6b 27 2e 0a 53 65 |ifdef-bl|ock'..Se|
|00003c40| 74 20 74 6f 70 20 61 6e | 64 20 62 6f 74 74 6f 6d |t top an|d bottom|
|00003c50| 20 6f 66 20 69 66 64 65 | 66 20 62 6c 6f 63 6b 2e | of ifde|f block.|
|00003c60| 22 5d 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 68 |"]).(def|alias 'h|
|00003c70| 69 64 65 2d 69 66 64 65 | 66 2d 62 6c 6f 63 6b 20 |ide-ifde|f-block |
|00003c80| 23 5b 6e 69 6c 20 22 08 | 84 08 00 c0 c1 21 88 c2 |#[nil ".|.....!..|
|00003c90| 13 c4 89 c2 1d 1e 06 1e | 07 c8 20 88 c9 0e 07 0e |........|.. .....|
|00003ca0| 06 5c 22 88 0e 5c 6e 83 | 2c 00 cb 0e 07 21 88 cb |.\"..\n.|,....!..|
|00003cb0| 0e 06 54 21 88 c2 16 5c | 66 2b 0e 0d 86 37 00 0e |..T!...\|f+...7..|
|00003cc0| 0e 89 16 0f 87 22 20 5b | 68 69 64 65 2d 69 66 64 |....." [|hide-ifd|
|00003cd0| 65 66 2d 6d 6f 64 65 20 | 31 20 74 20 73 65 6c 65 |ef-mode |1 t sele|
|00003ce0| 63 74 69 76 65 2d 64 69 | 73 70 6c 61 79 20 6e 69 |ctive-di|splay ni|
|00003cf0| 6c 20 69 6e 68 69 62 69 | 74 2d 72 65 61 64 2d 6f |l inhibi|t-read-o|
|00003d00| 6e 6c 79 20 62 6f 74 74 | 6f 6d 20 74 6f 70 20 68 |nly bott|om top h|
|00003d10| 69 66 2d 66 69 6e 64 2d | 69 66 64 65 66 2d 62 6c |if-find-|ifdef-bl|
|00003d20| 6f 63 6b 20 68 69 64 65 | 2d 69 66 64 65 66 2d 72 |ock hide|-ifdef-r|
|00003d30| 65 67 69 6f 6e 20 68 69 | 64 65 2d 69 66 64 65 66 |egion hi|de-ifdef|
|00003d40| 2d 6c 69 6e 65 73 20 68 | 69 66 2d 68 69 64 65 2d |-lines h|if-hide-|
|00003d50| 6c 69 6e 65 20 68 69 64 | 65 2d 69 66 64 65 66 2d |line hid|e-ifdef-|
|00003d60| 68 69 64 69 6e 67 20 68 | 69 64 65 2d 69 66 64 65 |hiding h|ide-ifde|
|00003d70| 66 2d 72 65 61 64 2d 6f | 6e 6c 79 20 68 69 66 2d |f-read-o|nly hif-|
|00003d80| 6f 75 74 73 69 64 65 2d | 72 65 61 64 2d 6f 6e 6c |outside-|read-onl|
|00003d90| 79 20 62 75 66 66 65 72 | 2d 72 65 61 64 2d 6f 6e |y buffer|-read-on|
|00003da0| 6c 79 5d 20 33 20 22 5c | 0a 48 69 64 65 20 74 68 |ly] 3 "\|.Hide th|
|00003db0| 65 20 69 66 64 65 66 20 | 62 6c 6f 63 6b 20 28 74 |e ifdef |block (t|
|00003dc0| 72 75 65 20 6f 72 20 66 | 61 6c 73 65 20 70 61 72 |rue or f|alse par|
|00003dd0| 74 29 20 65 6e 63 6c 6f | 73 69 6e 67 20 6f 72 20 |t) enclo|sing or |
|00003de0| 62 65 66 6f 72 65 20 74 | 68 65 20 63 75 72 73 6f |before t|he curso|
|00003df0| 72 2e 22 20 6e 69 6c 5d | 29 0a 28 64 65 66 61 6c |r." nil]|).(defal|
|00003e00| 69 61 73 20 27 73 68 6f | 77 2d 69 66 64 65 66 2d |ias 'sho|w-ifdef-|
|00003e10| 62 6c 6f 63 6b 20 23 5b | 6e 69 6c 20 22 c0 19 5c |block #[|nil "..\|
|00003e20| 6e 83 16 00 8a c3 79 88 | c4 60 53 c5 7f 88 60 5c |n.....y.|.`S...`\|
|00003e30| 22 29 82 27 00 c5 89 1e | 06 1e 07 c8 20 88 c4 0e |").'....|.... ...|
|00003e40| 07 53 0e 06 5c 22 2a 29 | 87 22 20 5b 74 20 69 6e |.S..\"*)|." [t in|
|00003e50| 68 69 62 69 74 2d 72 65 | 61 64 2d 6f 6e 6c 79 20 |hibit-re|ad-only |
|00003e60| 68 69 64 65 2d 69 66 64 | 65 66 2d 6c 69 6e 65 73 |hide-ifd|ef-lines|
|00003e70| 20 30 20 68 69 66 2d 73 | 68 6f 77 2d 69 66 64 65 | 0 hif-s|how-ifde|
|00003e80| 66 2d 72 65 67 69 6f 6e | 20 6e 69 6c 20 62 6f 74 |f-region| nil bot|
|00003e90| 74 6f 6d 20 74 6f 70 20 | 68 69 66 2d 66 69 6e 64 |tom top |hif-find|
|00003ea0| 2d 69 66 64 65 66 2d 62 | 6c 6f 63 6b 5d 20 33 20 |-ifdef-b|lock] 3 |
|00003eb0| 22 5c 0a 53 68 6f 77 20 | 74 68 65 20 69 66 64 65 |"\.Show |the ifde|
|00003ec0| 66 20 62 6c 6f 63 6b 20 | 28 74 72 75 65 20 6f 72 |f block |(true or|
|00003ed0| 20 66 61 6c 73 65 20 70 | 61 72 74 29 20 65 6e 63 | false p|art) enc|
|00003ee0| 6c 6f 73 69 6e 67 20 6f | 72 20 62 65 66 6f 72 65 |losing o|r before|
|00003ef0| 20 74 68 65 20 63 75 72 | 73 6f 72 2e 22 20 6e 69 | the cur|sor." ni|
|00003f00| 6c 5d 29 0a 28 64 65 66 | 76 61 72 20 68 69 64 65 |l]).(def|var hide|
|00003f10| 2d 69 66 64 65 66 2d 64 | 65 66 69 6e 65 2d 61 6c |-ifdef-d|efine-al|
|00003f20| 69 73 74 20 6e 69 6c 20 | 22 5c 0a 41 20 67 6c 6f |ist nil |"\.A glo|
|00003f30| 62 61 6c 20 61 73 73 6f | 63 20 6c 69 73 74 20 6f |bal asso|c list o|
|00003f40| 66 20 70 72 65 2d 64 65 | 66 69 6e 65 64 20 73 79 |f pre-de|fined sy|
|00003f50| 6d 62 6f 6c 20 6c 69 73 | 74 73 22 29 0a 28 64 65 |mbol lis|ts").(de|
|00003f60| 66 61 6c 69 61 73 20 27 | 68 69 66 2d 63 6f 6d 70 |falias '|hif-comp|
|00003f70| 72 65 73 73 2d 64 65 66 | 69 6e 65 2d 6c 69 73 74 |ress-def|ine-list|
|00003f80| 20 23 5b 28 65 6e 76 29 | 20 22 c0 c1 5c 6e 5c 22 | #[(env)| "..\n\"|
|00003f90| c3 1c 89 1d 83 1c 00 0d | 40 83 15 00 0d 40 5c 66 |........|@....@\f|
|00003fa0| 42 14 0d 41 89 15 84 0b | 00 5c 66 2a 87 22 20 5b |B..A....|.\f*." [|
|00003fb0| 6d 61 70 63 61 72 20 23 | 5b 28 61 72 67 29 20 22 |mapcar #|[(arg) "|
|00003fc0| c0 09 40 21 85 09 00 09 | 40 87 22 20 5b 68 69 66 |..@!....|@." [hif|
|00003fd0| 2d 6c 6f 6f 6b 75 70 20 | 61 72 67 5d 20 32 5d 20 |-lookup |arg] 2] |
|00003fe0| 65 6e 76 20 6e 69 6c 20 | 6e 65 77 2d 64 65 66 73 |env nil |new-defs|
|00003ff0| 20 64 65 66 73 5d 20 34 | 20 22 5c 0a 43 6f 6d 70 | defs] 4| "\.Comp|
|00004000| 72 65 73 73 20 74 68 65 | 20 64 65 66 69 6e 65 20 |ress the| define |
|00004010| 6c 69 73 74 20 45 4e 56 | 20 69 6e 74 6f 20 61 20 |list ENV| into a |
|00004020| 6c 69 73 74 20 6f 66 20 | 64 65 66 69 6e 65 64 20 |list of |defined |
|00004030| 73 79 6d 62 6f 6c 73 20 | 6f 6e 6c 79 2e 22 5d 29 |symbols |only."])|
|00004040| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 68 69 64 65 |.(defali|as 'hide|
|00004050| 2d 69 66 64 65 66 2d 73 | 65 74 2d 64 65 66 69 6e |-ifdef-s|et-defin|
|00004060| 65 2d 61 6c 69 73 74 20 | 23 5b 28 6e 61 6d 65 29 |e-alist |#[(name)|
|00004070| 20 22 08 c1 5c 6e 21 42 | 0b 42 89 13 87 22 20 5b | "..\n!B|.B..." [|
|00004080| 6e 61 6d 65 20 68 69 66 | 2d 63 6f 6d 70 72 65 73 |name hif|-compres|
|00004090| 73 2d 64 65 66 69 6e 65 | 2d 6c 69 73 74 20 68 69 |s-define|-list hi|
|000040a0| 64 65 2d 69 66 64 65 66 | 2d 65 6e 76 20 68 69 64 |de-ifdef|-env hid|
|000040b0| 65 2d 69 66 64 65 66 2d | 64 65 66 69 6e 65 2d 61 |e-ifdef-|define-a|
|000040c0| 6c 69 73 74 5d 20 33 20 | 22 5c 0a 53 65 74 20 74 |list] 3 |"\.Set t|
|000040d0| 68 65 20 61 73 73 6f 63 | 69 61 74 69 6f 6e 20 66 |he assoc|iation f|
|000040e0| 6f 72 20 4e 41 4d 45 20 | 74 6f 20 60 68 69 64 65 |or NAME |to `hide|
|000040f0| 2d 69 66 64 65 66 2d 65 | 6e 76 27 2e 22 20 22 53 |-ifdef-e|nv'." "S|
|00004100| 53 65 74 20 64 65 66 69 | 6e 65 20 6c 69 73 74 3a |Set defi|ne list:|
|00004110| 20 22 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 | "]).(de|falias '|
|00004120| 68 69 64 65 2d 69 66 64 | 65 66 2d 75 73 65 2d 64 |hide-ifd|ef-use-d|
|00004130| 65 66 69 6e 65 2d 61 6c | 69 73 74 20 23 5b 28 6e |efine-al|ist #[(n|
|00004140| 61 6d 65 29 20 22 c0 09 | 5c 6e 5c 22 89 1b 83 13 |ame) "..|\n\"....|
|00004150| 00 c4 c5 0b 41 5c 22 16 | 06 82 18 00 c7 c8 09 5c |....A\".|.......\|
|00004160| 22 88 0e 09 85 1f 00 ca | 20 29 87 22 20 5b 61 73 |".......| )." [as|
|00004170| 73 6f 63 20 6e 61 6d 65 | 20 68 69 64 65 2d 69 66 |soc name| hide-if|
|00004180| 64 65 66 2d 64 65 66 69 | 6e 65 2d 61 6c 69 73 74 |def-defi|ne-alist|
|00004190| 20 64 65 66 69 6e 65 2d | 6c 69 73 74 20 6d 61 70 | define-|list map|
|000041a0| 63 61 72 20 23 5b 28 61 | 72 67 29 20 22 08 c1 42 |car #[(a|rg) "..B|
|000041b0| 87 22 20 5b 61 72 67 20 | 74 5d 20 32 5d 20 68 69 |." [arg |t] 2] hi|
|000041c0| 64 65 2d 69 66 64 65 66 | 2d 65 6e 76 20 65 72 72 |de-ifdef|-env err|
|000041d0| 6f 72 20 22 4e 6f 20 64 | 65 66 69 6e 65 20 6c 69 |or "No d|efine li|
|000041e0| 73 74 20 66 6f 72 20 25 | 73 22 20 68 69 64 65 2d |st for %|s" hide-|
|000041f0| 69 66 64 65 66 2d 68 69 | 64 69 6e 67 20 68 69 64 |ifdef-hi|ding hid|
|00004200| 65 2d 69 66 64 65 66 73 | 5d 20 34 20 22 5c 0a 53 |e-ifdefs|] 4 "\.S|
|00004210| 65 74 20 60 68 69 64 65 | 2d 69 66 64 65 66 2d 65 |et `hide|-ifdef-e|
|00004220| 6e 76 27 20 74 6f 20 74 | 68 65 20 64 65 66 69 6e |nv' to t|he defin|
|00004230| 65 20 6c 69 73 74 20 73 | 70 65 63 69 66 69 65 64 |e list s|pecified|
|00004240| 20 62 79 20 4e 41 4d 45 | 2e 22 20 22 53 55 73 65 | by NAME|." "SUse|
|00004250| 20 64 65 66 69 6e 65 20 | 6c 69 73 74 3a 20 22 5d | define |list: "]|
|00004260| 29 0a | |). | |
+--------+-------------------------+-------------------------+--------+--------+